将 OSGI 事件标记为已处理

Mark OSGI Event As Handled

当我向 OSGI 注册事件处理程序时,我在技术上注册了服务,这些服务可能有也可能没有排名。因此,由于事件处理程序的执行有一个固定顺序,我希望能够告诉所有连续的事件该事件已经被处理并且它们不应该执行。

我想要的类似于 AWT 的某些事件的 consume() 方法,或 SWT 的 doit 标志。

OSGI 事件上没有类似的东西,我无法更改 handleEvent() 方法中 Event 的属性来添加我自己的 属性。

我的问题有优雅的解决方案吗?

不,这不是 Event Admin 服务的意图。每个处理程序都应该接收相同的事件;这就是事件内容不可变的原因。