我使用带有camel的activemq来消费队列中的消息并将其发送到http服务器。我使用以下骆驼配置:-
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="activemq:queue:Consumer.A.VirtualTopic.Orders"/>
<to uri="http://localhost:8080/" />
<!-- <to uri="file:///Users/vinod/activemq.txt"/> -->
<!-- <to uri="activemq:queue:sssss"/> -->
</route>
</camelContext>
<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent" >
<property name="connectionFactory">
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="vm://localhost?create=false"/>
</bean>
</property>
</bean>
在第一个块中,创建一个路由,消费者来自activemq:queue:Consumer.A.VirtualTopic.Orders
的消息排队并将它们发送到http://localhost:8080/
的服务器。另外两个注释的目的地运行良好,但当我使用上面的配置启动activemq以通过http发送消息时,服务器会停止,不会抛出任何错误消息。此的Activemq日志为https://gist.github.com/kumar003vinod/1e5944cb246edb74c47fef7a0b433387
请提供一些见解。
确保在ActiveMQ lib/camel
目录中包含camel-http
和camel-http-common
JAR。您可能还需要在该目录中包括来自camel-http
的可传递依赖项,以便ActiveMQ在其类路径中具有所有所需的JAR。
这将是commons-httpclient
和commons-codec
JAR,但我认为它们已经包含在lib/optional
中。