我开始在 eclipse 中使用 OSGI。在声明式服务下,我发现一旦服务被激活,就会执行两种方法。即激活和绑定..这两者有什么区别?
如果我想在我的服务启动时执行某些操作,我应该把它放在Bind方法还是Activate方法中?
我开始在 eclipse 中使用 OSGI。在声明式服务下,我发现一旦服务被激活,就会执行两种方法。即激活和绑定..这两者有什么区别?
如果我想在我的服务启动时执行某些操作,我应该把它放在Bind方法还是Activate方法中?
绑定方法用于将服务引用注入到组件实例中,即组件所依赖的服务。当组件满足时,激活方法(如果已声明)在激活过程的最后一步调用。
所以,我想你想在 activate 方法中编写你的操作,知道你所有的强制依赖项都已经解决了。
另请注意,声明式服务组件本身不是服务,但它可能提供服务。
该activate
方法在您的组件被激活时被调用。因此,这是执行任何初始化活动的好时机。bind
为您的组件引用的每个服务调用一次方法。因此,如果您的组件具有对 的引用LogService
,则您的bind
方法 forLogService
将被调用,每个LogService
对象都绑定到您的组件。然后该方法可以将 存储LogService
在一个字段中。