zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    若干代码坏味及解法
    编程漫谈(十八):编程三境界
    如何不虚度光阴
    打印预览内嵌浏览器的两种方法
    LODOP多个表格带表格页脚关联
    Akka学习笔记
    Spring和Springboot相关知识点整理
    python接口测试:在一个用例文件中调用另一个用例文件中定义的方法
    使用jmeter对字符串进行加密
    (八十九)c#Winform自定义控件-自定义滚动条(treeview、panel、datagridview、listbox、listview、textbox)
  • 原文地址:https://www.cnblogs.com/gdufs/p/6845570.html
Copyright © 2011-2022 走看看