Apache felix 阻止了一个事件 - 如何删除它?

Apache felix blocked an event - how to remove it?

我有一个 EventHandler,它在某些事件上被触发。该事件有时会被 Apache Felix(或 OSGi 容器本身)阻止。有没有办法"unblock"那个事件?

"blocked" 我的意思是我的事件处理程序没有被触发。我确定该事件已被触发,但我的事件处理程序没有按照逻辑执行。我认为这是一项安全功能,但也许我可以通过某种方式更改 OSGi 配置中的某些内容以永不阻止我的事件?

干杯

答案在这里: http://felix.apache.org/documentation/subprojects/apache-felix-event-admin.html

有两个属性控制超时。 第一个

org.apache.felix.eventadmin.Timeout

控制超时时间(事件将被阻止的时间,如果事件处理将达到超时值)。如果设置为 100,它会禁用所有事件的超时,

属性

org.apache.felix.eventadmin.IgnoreTimeout

将事件处理程序配置为在没有超时的情况下调用。

这两个属性都可以在 EventAdmin 服务或框架属性文件中设置。