【问题标题】:How to use ECF JMS/ActiveMQ provider with remote services?如何将 ECF JMS/ActiveMQ 提供程序与远程服务一起使用?
【发布时间】:2014-12-12 09:34:19
【问题描述】:

为了使 OSGI 服务可以远程访问,我想使用 ActiveMQ JMS 代理作为 ECF 框架内的分发提供程序。我应该采取哪些步骤?

【问题讨论】:

    标签: jms osgi activemq eclipse-ecf


    【解决方案1】:

    我将回答我自己的问题以便记录它。

    1. 获取一个最小的 ECF 远程服务工作区,其中 ecf.generic.server 作为分发和发现提供程序之一(例如 zookeeper)。你可以使用http://wiki.eclipse.org/EIG:Getting_Started_with_OSGi_Remote_Services教程。

    2. 使用默认配置安装 ActiveMQ 代理。

    3. https://github.com/ECF/JMS 下载 JMS/ActiveMQ ECF 提供程序。在您的工作区中添加org.eclipse.ecf.provider.jmsorg.eclipse.ecf.provider.jms.activemq 项目,构建并将它们添加到您的运行配置或目标平台。

    4. 对于提供者服务属性,进行以下更改:

      一个。将"service.exported.configs" 属性更改为"ecf.jms.activemq.tcp.client"

      b.添加具有以下值 "tcp://[ACTIVEMQ_IP]:61616/rs_topic""ecf.endpoint.connecttarget.id" 属性,将 [ACTIVEMQ_IP] 替换为代理 IP。您还可以将主题名称更改为与您的服务相关的内容。

    5. 现在我们还需要一个 ActiveMQ JMS 服务器容器。将以下代码添加到提供程序端。使用 Activator 或使用 DS 启动新组件。您还可以从服务注册表中获取IContainerFactory 对象。

      IContainerFactory containerFactory = ContainerFactory.getDefault();
      containerFactory.createContainer("ecf.jms.activemq.tcp.manager", 
      new Object[] { "tcp://[ACTIVEMQ_IP]:61616/rs_topic" });
      

    【讨论】:

      猜你喜欢
      • 2023-03-29
      • 1970-01-01
      • 2012-03-10
      • 1970-01-01
      • 2013-10-03
      • 2018-09-20
      • 2015-01-25
      • 2013-01-11
      • 1970-01-01
      相关资源
      最近更新 更多