JMS消息队列之ActiveMQ简单示例
废话不多说,在进入主题前先看一张图,对ActiveMQ有个大体的了解:
下面进入主题:
1.添加需要的maven依赖
<!-- active mq begin --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> <version>4.3.8.RELEASE</version> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>5.14.5</version> </dependency> <!-- active mq end -->
2.Spring配置文件中添加activemq相关配置
1)消息发送
<!-- 配置JMS连接工厂 -->
<amq:connectionFactory id="connectionFactory" brokerURL="tcp://localhost:61616"/>
<!-- 定义Queue类型的消息目的地 -->
<amq:queue id="queueDestination" physicalName="bounter.queue" />
<!-- 定义Topic类型的消息目的地 -->
<amq:topic id="topicDestination" physicalName="bounter.topic" />
<!-- 定义JmsTemplate,用来简化消息发送 -->
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="connectionFactory"/>
<property name="defaultDestinationName" value="bounter.queue"/>
<!--<property name="defaultDestinationName" value="bounter.topic"/>-->
<property name="receiveTimeout" value="10000"/>
</bean>
2)消息接收(有多种接收方式,这里采用Spring的Message Driven POJO的异步监听方式)
<!-- 定义接收消息的监听器容器 -->
<jms:listener-container connection-factory="connectionFactory">
<jms:listener destination="bounter.queue" ref="jmsQueueListener" method="onQueueMessage" />
<jms:listener destination="bounter.topic" ref="jmsTopicListener" method="onTopicMessage" />
</jms:listener-container>
3.定义消息发送器和消息接收器
具体请参考项目源码中sender包和receiver包中代码
4.测试消息收发
具体请参考项目源码中的单元测试类ActiveMQTest
是不是觉得很简单哉!那就赶快自己动手试试吧!有好的意见或建议欢迎留言!
github源码地址: https://github.com/13babybear/mq-client