【问题标题】:How to run ActiveMQ in a OSGi Felix container?如何在 OSGi Felix 容器中运行 ActiveMQ?
【发布时间】:2013-01-20 16:59:44
【问题描述】:

您好,我想在 Apache Felix OSGi 容器中运行 ActiveMQ。我不想将它作为嵌入式代理运行,换句话说,我不想编写代码。理想的情况是在 Felix 中部署 AMQ jar 并更改配置文件以修改其行为。

看起来这对于 Apache Karaf 容器是可行的,但我既找不到关于如何在 felix 中执行此操作的文档,也找不到明确的答案(如果可能的话)。

谢谢。

【问题讨论】:

    标签: osgi activemq


    【解决方案1】:

    您似乎在寻找Apache Service Mix

    = Apache Karaf 与 ActiveMQ + Apache Camel + Apache CXF + 其他好东西。

    但如果你更愿意自己做,你可以坚持使用 Karaf 或 Felix,难道你不能直接使用 ActiveMQ 捆绑包并按照此说明进行操作吗?

    http://activemq.apache.org/osgi-integration.html

    【讨论】:

    • 实际上 Karaf 有一些“功能”可以让安装变得非常简单。所以我会坚持 Karaf 使用 Felix 作为我的 OSGi 运行时。
    • 是的,是的。或者像我说的那样简单地使用 Service Mix,因为 AMQ 是预先安装的。更容易。
    • 感谢您的回答。问题是目前我们所有的组件都部署在 felix 中,我不想引入一个新容器(即使 Karaf 在 felix 之上),因为这会影响我们设置不同环境的标准方式,(dev, qa,产品)。
    【解决方案2】:

    如果您真的想在纯 Apache Felix 中部署 ActiveMQ,那么最好的开始方法是研究 ActiveMQ 的 Karaf 特性。您需要安装那里引用的所有包和一些基本的 karaf 包。

    在 ActiveMQ Karaf 功能中,代理是使用来自 Karaf 的 Spring 或 Blueprint 部署程序启动的。这将寻找 spring dm 或 blueprint 文件并启动它们。代理配置就是这样一个启动整个 ActiveMQ 的文件。

    所以通过一些努力应该是可能的,但最终你会复制 karaf 的很多功能。因此,像 Petter 建议的那样首先使用 Karaf 是更简单的方法。

    【讨论】:

    • 谢谢克里斯蒂安。我真的希望它在 felix 中运行,因为我们目前所有的系统都部署在那里。基本上我们只是在 felix 中安装包并为不同的环境类型配置它们。使用不同的容器是不可取的,这意味着部署 AMQ 的方式不同。
    猜你喜欢
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    • 2014-12-19
    • 2016-07-16
    • 1970-01-01
    • 2016-12-10
    • 2011-08-18
    • 1970-01-01
    相关资源
    最近更新 更多