Java OSGi服务的解除绑定方法中的全局变量为null

Java OSGi服务的解除绑定方法中的全局变量为null,java,service,osgi,equinox,declarative,Java,Service,Osgi,Equinox,Declarative,我的应用程序基于OSGi(Equinox)。OSGi服务通过在适当的类中定义组件XML和绑定/取消绑定方法来绑定另一个服务 在unbind方法中,应该检索全局字符串变量(与unbind方法相同的类)的值 奇怪的是,String属性在这里是null的,尽管该属性以前肯定设置过。原因是什么?如何获取已设置的值?可能的原因是您的实例或类与您想象的不同。只需在写入和读取该变量时设置一个断点,或者创建一个set/get方法,用一些调试信息将其打印出来 在询问之前,您真的调试过这个问题吗?对于调试,我已经在

我的应用程序基于OSGi(Equinox)。OSGi服务通过在适当的类中定义组件XML和绑定/取消绑定方法来绑定另一个服务

在unbind方法中,应该检索全局字符串变量(与unbind方法相同的类)的值


奇怪的是,String属性在这里是null的,尽管该属性以前肯定设置过。原因是什么?如何获取已设置的值?

可能的原因是您的实例或类与您想象的不同。只需在写入和读取该变量时设置一个断点,或者创建一个set/get方法,用一些调试信息将其打印出来


在询问之前,您真的调试过这个问题吗?

对于调试,我已经在setter和getter中打印了变量值。现在已经修好了。这个问题的原因是我在OSGi的自动实例化旁边用new手动实例化了一个类,该类包含bind/unbind方法和String变量。我已经将字符串变量设置为静态,并且它可以工作。