@[TOC]ActiveMq与Spring整合注意事项
关于基本知识
参考转载:https://blog.csdn.net/z3pc_ooxx/article/details/71405102?utm_medium=distribute.pc_relevant_download.none-task-blog-blogcommendfrombaidu-5.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-blogcommendfrombaidu-5.nonecas###
订阅模式注意事项
1.jmsTemplate 中要定义属性 <property name="pubSubDomain" value="true"/>,如:
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="connectionFactory" />
<property name="defaultDestination" ref="demoQueueDestination" />
<property name="receiveTimeout" value="10000" />
<!-- true是topic,false是queue,默认是false,此处显示写出false -->
**<property name="pubSubDomain" value="true" />**
</bean>
2.消费者监听容器中也需要定义,<property name="pubSubDomain" value="true"/> 如:
<bean id="consumerListenerClient1" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<!-- 开启订阅模式 -->
**<property name="pubSubDomain" value="true"/>**
<property name="destination" ref="demoQueueDestination" />
<property name="subscriptionDurable" value="true"/>
<!---这里是设置接收客户端的ID,在持久化时,但这个客户端不在线时,消息就存在数据库里,直到被这个ID的客户端消费掉-->
<property name="clientId" value="pinao22"/>
<property name="messageListener" ref="myTopicListener" />
<!-- 消息应答方式
Session.AUTO_ACKNOWLEDGE 消息自动签收
Session.CLIENT_ACKNOWLEDGE 客户端调用acknowledge方法手动签收
Session.DUPS_OK_ACKNOWLEDGE 不必必须签收,消息可能会重复发送
-->
<property name="sessionAcknowledgeMode" value="1"/>
</bean>