我有一个关于 OSGi EventAdmin 服务使用的一般问题。我目前在每秒可能生成数千个事件的环境中使用它。我担心 EventAdmin 服务可能是一个瓶颈。我从我的分析器得到的初步结果似乎支持这一点。我的问题是:
在此先感谢您的支持!
干杯,
乔治
最佳答案
你有关于你看到的瓶颈的更多信息吗?
我们将针对事件管理规范(请参阅 [1] 中的 RFC 157)进行更新,以帮助解决一些性能问题。但这还没有完成规范工作。
Send 事件是同步发送,因此调用线程会阻塞,直到通知所有监听器。大多数实现使用调用者线程。 Post 事件不会阻止调用者。它将工作排队等待另一个线程传递事件。当前的事件管理规范要求对异步事件进行排序,因此如果不需要排序,这可能会导致延迟。 RFC 157 提供了不需要这种排序的能力。
我没有关于一种实现之前是否比另一种更好或更差的数据。
[1] http://www.osgi.org/Download/File?url=/download/osgi-4.3-early-draft2.pdf
关于event-handling - 何时使用 OSGi EventAdmin,何时不使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7018762/