1
我有一个OSGi模块A
,它在PostConstruct中生成事件EA
。如何处理由Osgi模块产生的事件,然后才能将侦听器注册到Felix Event Admin
我有另一个OSGi模块B
这取决于事件EA
执行某些操作。
但模块B
被加载,模块A
加载之后,因此注册其事件监听器来Felix Event Admin
和已产生的事件EA
。
因此,模块B
在等待事件EA
达到某个超时值后失败。
有没有一种方法可以在模块B
的听众注册之前访问所有生成的事件?
我试过使用OSGiService(waitTimeout = 1000)
,但是这只能等待服务变为可用..但不能用于其完成执行的方法。
谢谢。
可能让A听OSGi加载B,然后产生事件EA。如果无法等到B加载可能是需要存储事件的事件存储库,那么将在加载时由B选择事件库,但这不是直截了当的。听一听B的加载框架,然后制作事件会更好,即使它之前已经为了其他目的而解雇了它们。 – SomeDude