首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache Camel和Stomp

Apache Camel和Stomp
EN

Stack Overflow用户
提问于 2013-02-24 03:01:35
回答 2查看 2.4K关注 0票数 5

我正在开发一个解决方案,它的架构是:

代码语言:javascript
复制
  PHP -> JMS -> Camel -> several web services and endpoints.

根据:http://activemq.apache.org/php.html

..。我应该使用PHP STOMP客户端来使用JMS。这很好用。

我还使用了JMS client从ActiveMQ接收数据。

但是,我想使用Camel来路由JMS消息。我似乎无法让Camel与JMS / Stomp一起工作。

我看了一眼https://github.com/fusesource/stompjms

..。但我不确定如何让它与Camel一起工作。

我还尝试了一个Spring camel-context.xml,其中的brokerURL指定了STOMP:

代码语言:javascript
复制
  <bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
      <property name="connectionFactory">
          <bean class="org.apache.activemq.ActiveMQConnectionFactory">
              <property name="brokerURL" value="stomp://localhost:61613" />
              <property name="userName" value="admin" />
              <property name="password" value="AmChamDev" />
          </bean>
      </property>
  </bean>

..。但是,这会导致:

代码语言:javascript
复制
  [ #0 - JmsConsumer[/queue/test]] ultJmsMessageListenerContainer WARN  Could not 
  refresh JMS Connection for destination '/queue/test' - retrying in 5000 ms. 
  Cause: Could not create Transport. 
  Reason: java.io.IOException: Transport scheme NOT recognized: [stomp]

关于如何让Camel与JMS / Stomp协同工作有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-24 04:08:40

在使用JMS/ActiveMQ组件时,您必须使用开放式传输。

tcp://localhost:61616或者你有的什么。

不过别担心。即使您使用STOP (或任何其他可用传输)向ActiveMQ发送消息,也可以使用缺省(开放式)传输使用JMS (以及Camel中的ActiveMQ组件)接收完全相同的消息。

票数 6
EN

Stack Overflow用户

发布于 2015-05-20 20:12:55

根据Camel docs http://camel.apache.org/stomp.html的说法,您需要包括其他依赖项:

代码语言:javascript
复制
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-stomp</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15044362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档