JMS消息队列之ActiveMQ简单示例

时间:2023-12-22 16:54:44

废话不多说,在进入主题前先看一张图,对ActiveMQ有个大体的了解:
JMS消息队列之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