ActiveMQ Camel:每个其他消息都以多播

时间:2016-08-16 17:45:52

标签: apache-camel activemq stomp

我正在尝试将XML数据包从一个ActiveMQ队列路由到另一个框上的另一个ActiveMQ队列。我用骆驼来达到这个目的。我打算稍后将其发送到其他方框,以便我使用多播来复制消息。

我正在两端使用C-Stomp library发送和接收消息。

ActiveMQ-5.9.0和Camel-2.12.3

camel.xml

<camelContext>
  <route>
    <from uri="activemq:queue:out" />
    <multicast>
      <to uri="otheractivemq:queue:in" />
    </multicast>
  </route>
</camelContext>

<!-- ActiveMQs -->
<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
  <property name="connectionFactory">
    <bean class="org.apache.activemq.ActiveMQConnectionFactory">
      <property name="brokerURL" value="tcp://localhost:61616"/>
      <property name="userName" value="${activemq.username}"/>
      <property name="password" value="${activemq.password}"/>
    </bean>
  </property>
</bean>

<bean id="otheractivemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
  <property name="connectionFactory">
    <bean class="org.apache.activemq.ActiveMQConnectionFactory">
      <property name="brokerURL" value="tcp://[differentip]:61616"/>
      <property name="userName" value="${activemq.username}"/>
      <property name="password" value="${activemq.password}"/>
    </bean>
  </property>
</bean>

在我的ActiveMQ代理上,我可以看到消息正被添加到本地队列中并迅速出列;但是,当我检查另一个ActiveMQ时,只有其他所有消息都被排队。

我试图在另一个盒子上添加目标队列的“克隆”并将其添加到多播中;所以,我的路线喜欢以下内容:

<route>
  <from uri="activemq:queue:out" />
  <multicast>
    <to uri="otheractivemq:queue:in" />
    <to uri="otheractivemq:queue:in_clone" />
  </multicast>
</route>

但是,然后“克隆”只收到所有其他消息,而另一个队列收到所有消息。

0 个答案:

没有答案