何时使用OSGi EventAdmin,何时不使用



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

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

提前感谢您的支持!

欢呼,Georg

您有关于您所看到的瓶颈的更多信息吗?

我们即将更新事件管理规范(参见[1]中的RFC 157),以帮助解决一些性能问题。但这还没有完成规范工作。

Send事件是同步发送,因此调用线程阻塞,直到所有侦听器都被通知。大多数实现使用调用者线程。Post事件不会阻塞调用者。它将工作排队等待另一个线程来交付事件。当前的事件管理规范要求对异步事件进行排序,因此如果不需要排序,这可能会导致延迟。RFC 157提供了不需要这种排序的能力。

我没有数据表明之前的一个实现是比另一个更好还是更差。

[1] http://www.osgi.org/download/file?url=/download/osgi - 4.3 -早期- draft2.pdf

相关内容

  • 没有找到相关文章

最新更新