Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 访问osgi捆绑资源_Java_Eclipse_Osgi_Bundle - Fatal编程技术网

Java 访问osgi捆绑资源

Java 访问osgi捆绑资源,java,eclipse,osgi,bundle,Java,Eclipse,Osgi,Bundle,我有一个osgi捆绑包,当我启动应用程序时会被激活。我只需要不时地使用它,但我需要bundle来维护它的状态(它的变量应该保持相同的值)。但我无法做到这一点:每次激活处理程序时,我都必须再次初始化包的变量 有人能解释一下这是如何做到的吗?每次启动一个bundle包时,都会创建一个BundleActivator的新实例,并在start方法中调用它。如果您需要在多个bundle启动时保持状态,那么您需要保持您的状态,以便在每次启动时都可以恢复状态。当然,有很多方法可以持久化数据。捆绑包始终保持其激活

我有一个osgi捆绑包,当我启动应用程序时会被激活。我只需要不时地使用它,但我需要bundle来维护它的状态(它的变量应该保持相同的值)。但我无法做到这一点:每次激活处理程序时,我都必须再次初始化包的变量


有人能解释一下这是如何做到的吗?

每次启动一个bundle包时,都会创建一个BundleActivator的新实例,并在start方法中调用它。如果您需要在多个bundle启动时保持状态,那么您需要保持您的状态,以便在每次启动时都可以恢复状态。当然,有很多方法可以持久化数据。

捆绑包始终保持其激活状态,我需要不时从中调用一个方法。问题是,每次我需要使用捆绑包时,我不知道如何在不初始化处理程序中的捆绑包类的情况下访问该捆绑包。我建议您的捆绑包注册一个其他捆绑包可以获得的服务,并在需要与该捆绑包通信时调用该服务。