需要安装compendium来安装EventAdmin吗?

时间:2014-02-02 06:58:37

标签: osgi osgi-bundle

我有一个应用程序,它从Web应用程序接收大量事件(一些度量数据)。我有一个非osgi应用程序接收这些事件,并负责将这些事件转发到osgi bundle。我正在尝试使用EventAdmin进行此通信。我看了EventAdmin is null in maven-osgi project,但没有明确回答几个问题。

我想安装EventAdmin服务(在非osgi应用程序级别)。我正在使用“org.osgi.service.event.EventAdmin”。但是,没有单独的罐子。它是纲要罐子的一部分。我需要安装简编罐吗?

如果我不在上面做,那么我从这个调用中返回的引用总是为null:         ServiceReference ref = context.getServiceReference(EventAdmin.class.getName());

任何指针都非常受欢迎

由于 Masti

1 个答案:

答案 0 :(得分:1)

事件管理员用于一个OSGi框架内的通信。您不能在OSGi之外使用它或在OSGi容器之间进行通信。对于你的情况,我建议使用jms进行通信,如果这个太慢,那么RabbitMQ或HornetQ可能会起作用。还有一些工作正在为OSGi定义远程事件,但尚未提供。事件管理员和jms的一种可能组合可能是在一个包中接收jms并通过事件管理员转发事件。因此,您的业务代码包可以从jms中抽象出来。