Apache Camel 可以很方便的和Active MQ进行通信,下面是一些Tips。
1.Active MQ 安装
Docker安装ActiveMQ
#下载 镜像 docker pull rmohr/activemq #运行容器 docker run --name my-activemq -d -p 61616:61616 -p 8161:8161 rmohr/activemq
运行成功以后,访问 http://127.0.0.1:8161/admin(用户名和密码默认为admin),则启动成功。

2.Camel Maven工程 ActiveMQ Pom导入
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-activemq</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel core version -->
</dependency>
但是运行的时候,有可能会报下面的错误。
java.lang.ClassNotFoundException: javax.jms.JMSContext
可以添加一下依赖解决,JMS 2.0 依赖如下
<dependency>
<groupId>javax.jms</groupId>
<artifactId>javax.jms-api</artifactId>
<version>2.0.1</version>
</dependency>

3.Camel 工程中Spring XML Sample
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<bean id="activemq" class="org.apache.camel.component.activemq.ActiveMQComponent">
<property name="connectionFactory">
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://127.0.0.1:61616"/>
</bean>
</property>
</bean>
<!-- コンテキスト定義 -->
<routeContext id="route-1" xmlns="http://camel.apache.org/schema/spring">
<!-- メイン -->
<route id="mainroute-1">
<!-- 从testQueue受信 -->
<from uri="activemq:testQueue"/>
<log loggingLevel="DEBUG" message=">>>${body}"/>
<!-- 往testQueue送信 -->
<to uri="activemq:queue:testQueue"/>
</route>
</routeContext>
</beans>
有用的网站:
https://camel.apache.org/components/next/activemq-component.html