0

在 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() ,结果有时会为空。

有没有更好的方法来解决这个问题

4

1 回答 1

2

我想你的意思是远程设置/获取值。

不; 您不能ThreadLocal为此使用 a - 不能保证每个请求都会使用相同的 RMI 线程。

于 2017-08-15T18:04:02.160 回答