如何将ECF JMS / ActiveMQ提供程序与远程服务一起使用?

时间:2014-12-12 09:34:20

标签: jms osgi activemq eclipse-ecf

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

1 个答案:

答案 0 :(得分:0)

我会回答我自己的问题,以便记录下来。

  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"

    湾使用以下值"ecf.endpoint.connecttarget.id"添加"tcp://[ACTIVEMQ_IP]:61616/rs_topic"属性,将[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" });