【发布时间】:2018-01-23 17:12:39
【问题描述】:
在 ThreadLocal 中为 Spring JMX 设置的值不一致
@ManagedResource(objectName = "MAN-TEST:name=SetValue", description = "Set Value for JMX")
@Component
public class ValueSetJMX {
private static ThreadLocal<String> jmxValue = new ThreadLocal<String>();
@ManagedAttribute
public void setManValue(String valueJMX) {
jmxValue.set(valueJMX)
}
@ManagedAttribute
public String getManValue() {
return jmxValue.get();
}
}
在为 setManValue 设置值后,如果我多次调用 getManValue() ,结果有时会为空。
有没有更好的办法解决这个问题
【问题讨论】:
标签: spring spring-boot concurrency thread-local spring-jmx