在 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() ,结果有时会为空。
有没有更好的方法来解决这个问题