ActiveMQ与Apache Karaf 2.3.1

时间:2013-05-02 08:03:57

标签: java osgi activemq apache-karaf osgi-bundle

我将ActiveMQ 5.8.0和Karaf 2.3.1单独运行。

我在Karaf所做的是:(还有其他:spring,cxf,camel已安装)

  • features:addUrl mvn:org.apache.activemq/activemq-karaf/5.8.0/xml/features
  • osgi:install -s mvn:org.apache.activemq/activemq-camel/5.8.0

features:list | grep mq显示:

[uninstalled] [2.11.0         ] camel-amqp                              camel-2.11.0
[uninstalled] [2.11.0         ] camel-mqtt                              camel-2.11.0
[uninstalled] [5.8.0          ] activemq-client                         activemq-5.8.0
[uninstalled] [3.1.3.RELEASE  ] spring                                  activemq-5.8.0
[uninstalled] [5.8.0          ] activemq-broker                         activemq-5.8.0
[uninstalled] [5.8.0          ] activemq-http                           activemq-5.8.0
[uninstalled] [5.8.0          ] activemq-camel                          activemq-5.8.0
[uninstalled] [5.8.0          ] activemq-web-console                    activemq-5.8.0

如果我安装activemq-broker,它将安装服务器以及ActiveMQ的所有内容,我不需要。

在我的一个软件包中,我公开了camel-cxf端点,我将消息发送到队列。问题是,当我尝试安装我的软件包时,它会给我一个错误:

missing requirement [169.0] osgi.wiring.package; (osgi.wiring.package=org.apache.activemq)

我知道Karaf中安装的某些功能必须导出此软件包:org.apache.activemq,但他们没有。

我无法找到任何信息要在Karaf中安装哪些功能,它将单独使用activemq内容。我不希望Karaf让ActiveMQ在其中运行。我只需要安装必要的功能。

任何人都可以指出我需要为此目的安装哪些功能?

1 个答案:

答案 0 :(得分:3)

我找到了解决方案。我只需安装activemq-client。这不会安装所有其他功能。

features:install activemq-client