spring jms同时使用queue和持久topic订阅
2017-11-27 11:15
260 查看
(1)spring配置文件
(2)activemq配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:amq="http://activemq.org/config/1.0" 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-2.0.xsd http://activemq.org/config/1.0 http://people.apache.org/repository/org.apache.activemq/xsds/activemq-core-4.2-incubator-SNAPSHOT.xsd"> <bean id="connectionFactory" class="org.apache.activemq.spring.ActiveMQConnectionFactory"> <property name="brokerURL" value="tcp://195.2.199.169:61616"/> <property name="useAsyncSend" value="true"/> </bean> <bean id="topicListenConnectionFactory" class="org.apache.activemq.spring.ActiveMQConnectionFactory"> <property name="brokerURL" value="tcp://195.2.199.169:61617"/> <property name="clientID" value="clientId_007"/> </bean> <!-- 消息队列监听者(MDP) --> <bean id="queueMsgListener" class="com.cdmcs.oa.jms.MagMessageListener"/> <!-- 消息主题监听者(MDP) --> <bean id="topicMsgListener" class="com.cdmcs.oa.jms.MagTopicMsgListener"/> <!--定义消息队列--> <bean id="myQueue" class="org.apache.activemq.command.ActiveMQQueue"> <constructor-arg value="Queue.007"/> </bean> <!--定义订阅主题--> <bean id="myTopic" class="org.apache.activemq.command.ActiveMQTopic"> <constructor-arg value="basicInfo.topic"/> </bean> <!-- 监听自己的消息 --> <bean id="myMsgQueuelistenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="connectionFactory" ref="connectionFactory" /> <property name="concurrentConsumers" value="1"/> <property name="maxConcurrentConsumers" value="1"/> <property name="destination" ref="myQueue"/> <property name="messageListener" ref="queueMsgListener"/> <property name="receiveTimeout" value="10000"/> <property name="taskExecutor" ref="taskExecutor" /> <!--0:CACHE_NONE,1:CACHE_CONNECTION,2:CACHE_SESSION,3:CACHE_CONSUMER,4:CACHE_AUTO--> <property name="cacheLevel" value="0"/> </bean> <!--监听公共消息(持久订阅者)--> <bean id="myMsgTopicListenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="connectionFactory" ref="topicListenConnectionFactory"/> <property name="pubSubDomain" value="true"/> <property name="concurrentConsumers" value="1"/> <property name="maxConcurrentConsumers" value="1"/> <property name="receiveTimeout" value="10000"/> <property name="destination" ref="myTopic" /> <property name="subscriptionDurable" value="true"/> <property name="clientId" value="clientId_007"/> <property name="durableSubscriptionName" value="clientId_007"/> <property name="messageListener" ref="topicMsgListener"/> <property name="taskExecutor" ref="taskExecutor" /> <property name="cacheLevel" value="0"/> </bean> <!--DefaultMessageListenerContainer默认的线程池支持--> <bean id="taskExecutor" class="org.springframework.core.task.SimpleAsyncTaskExecutor"/> <bean id="jmsQueueTemplate" class="org.springframework.jms.core.JmsTemplate102"> <property name="connectionFactory" ref="connectionFactory"/> <property name="messageConverter" ref="simpleConverter"/> <property name="sessionTransacted" value="true"/> <property name="receiveTimeout" value="10000"/> </bean> <bean id="jmsTopicTemplate" class="org.springframework.jms.core.JmsTemplate102"> <property name="connectionFactory" ref="connectionFactory"/> <property name="messageConverter" ref="simpleConverter"/> <property name="pubSubDomain" value="true"/> <property name="sessionTransacted" value="true"/> <property name="receiveTimeout" value="10000"/> </bean> <bean id="simpleConverter" class="org.springframework.jms.support.converter.SimpleMessageConverter"/> </beans>
(2)activemq配置
<!-- The transport connectors ActiveMQ will listen to --> <transportConnectors> <transportConnector name="myQueue" uri="tcp://localhost:61616"/> <transportConnector name="myTopic" uri="tcp://localhost:61617"/> </transportConnectors>
相关文章推荐
- spring boot-同时使用jms的Queue(队列)和Topic(发布订阅)
- 消息队列:快速上手ActiveMQ消息队列的JMS方式使用(两种模式:Topic和Queue的消息推送和订阅)
- springboot使用activemq同时接收queue和topic消息
- ROS中QThread的使用(同时进行topic的订阅)
- ActiveMQ5.0实战二:使用Spring发送,消费topic和queue消息
- SpringBoot结合ActiveMQ(同时支持Queue和Topic)
- Flume中同时使用Kafka Source和Kafka Sink的Topic覆盖问题
- JMS(Jboss Messaging)的一点使用心得(七)JBoss invoke-动态创建Queue或者Topic
- ActiveMQ5.0实战三:使用Spring发送,消费topic和queue消息
- 使用JMS发布订阅topic,传递ObjectMessage
- ActiveMQ5.0实战三:使用Spring发送,消费topic和queue消息
- JMS使用ActiveMQ实现Queue和Topic两种模式
- MQ系列3 使用Spring发送,消费topic和queue消息 activeMQ
- 如何实现ActiveMq的Topic的持久订阅
- 如何实现ActiveMq的Topic的持久订阅
- ActiveMQ5.0实战三:使用Spring发送,消费topic和queue消息
- ActiveMQ (二) 使用Queue或者Topic发送/接受消息
- mq 使用Spring发送,消费topic和queue消息
- FMDB多线程读写问题,使用FMDataBaseQueue操作可以解决同时打开一个链接de读写问题
- ActiveMQ5.0实战:使用Spring发送,消费topic和queue消息