如何在服务器和客户端的activemq之间使用camel

How to use camel between to server and client's activemq

我能够将消息从一个队列发送到同一 activemq 服务器中的另一个队列。 但我的要求是: a)将有两个主机 - 我的系统(作为服务器)和虚拟盒子(作为客户端)。 b)两者都有自己的activemq队列和camel。

现在的问题是—— 如何使用服务器的骆驼将消息从服​​务器的队列发送到客户端的队列? 反之亦然。

请帮帮我。任何解决方案将不胜感激。非常感谢

从 Camel 实例连接到不同的服务器是一个非常基本的概念。然而,它在一定程度上取决于你如何拥有它 configured/deployed。鉴于您的 Camel 运行 in Spring 在您的 ActiveMQ 中,您可以简单地设置两个 camel-activemq 组件。您需要提供正确的代理 URL、队列名称等。

<bean id="localamq" class="org.apache.activemq.camel.component.ActiveMQComponent" >
        <property name="connectionFactory">
          <bean class="org.apache.activemq.ActiveMQConnectionFactory">
            <property name="brokerURL" value="vm://localhost?create=false"/>
            <property name="userName" value="${activemq.username}"/>
            <property name="password" value="${activemq.password}"/>
          </bean>
        </property>
    </bean>

<bean id="remoteamq" class="org.apache.activemq.camel.component.ActiveMQComponent" >
        <property name="connectionFactory">
          <bean class="org.apache.activemq.ActiveMQConnectionFactory">
            <property name="brokerURL" value="tcp://otherserver:61616"/>
          </bean>
        </property>
    </bean>


  <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
        <route>
            <from uri="localamq:some.queue"/>
            <to uri="remoteamq:some.other.queue"/>
        </route>
    </camelContext>