当我向OSGI注册事件处理程序时,我在技术上注册服务,这些服务可能有也可能没有排名。因此,由于存在执行事件处理程序的修订顺序,我希望能够告诉所有后续事件事件已经处理过并且不应该执行。
我想要的是类似于某些事件的AWT consume()
方法,或SWT的doit
标志。
在OSGI事件上没有类似的东西,我无法在Event
方法中更改handleEvent()
的属性来添加我自己的属性。
我的问题有优雅的解决方案吗?
答案 0 :(得分:4)
不,这不是Event Admin服务的意图。每个处理程序都应该接收相同的事件;这就是为什么事件的内容是不可变的。