我有一个听过某个事件的类的多个实例。
@Inject
@Optional
private final void doSomething(@UIEventTopic(Events.A) Object object) {
//do something
}
我的问题是:如果我使用同步方法IEventBroker.send
,此方法是否可以等待所有侦听对象完成?我的测试表明是,但我想确定。
答案 0 :(得分:0)
IEventBroker.send
的JavaDoc说:
同步发布事件(该方法直到该方法才会返回 事件已处理完毕。)
事件代理在内部使用OSGi EventAdmin.sendEvent
方法,该方法表示:
启动事件的同步传递。此方法不返回 到调用者,直到事件交付完成。
因此,保证同步交付。