何时使用OSGi EventAdmin而不是?

Bum*_*Gee 8 osgi event-handling

关于OSGi EventAdmin服务的使用,我有一个一般性的问题.我目前正在一个可能每秒生成数千个事件的环境中使用它.我担心EventAdmin服务可能是一个瓶颈.我从我的探查器得到的初步结果似乎支持这一点.我的问题是:

  1. 使用EventAdmin服务时是否有一般的经验法则?
  2. sendEvent和postEvent方法在性能方面有何不同?
  3. 是否有一个特定的OSGi容器,已知具有低性能的EventAdmin实现?

在此先感谢您的支持!

干杯,格奥尔格

BJ *_*ave 7

您是否有关于您看到的瓶颈的更多信息?

我们对Event Admin规范进行了更新(参见[1]中的RFC 157)以帮助解决一些性能问题.但这还没有完成规范工作.

发送事件是同步发送,因此调用线程将阻塞,直到通知所有侦听器.大多数实现使用调用者线程.发布事件不会阻止调用者.它将另一个线程的工作排队以传递事件.当前的事件管理规范要求对异步事件进行排序,因此如果不需要排序,这可能会导致延迟.RFC 157提供了不需要此排序的功能.

我没有关于一个实现是否比另一个更好或更差的数据.

[1] http://www.osgi.org/Download/File?url=/download/osgi-4.3-early-draft2.pdf