近期加班较多,身心疲惫,直接看配置吧;
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:jms="http://www.springframework.org/schema/jms"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.0.xsd">
<!-- 真正可以产生Connection的ConnectionFactory,由对应的 JMS服务厂商提供 -->
<bean id="targetConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="${mq.brokerURL}"/>
</bean>
<!-- Spring用于管理真正的ConnectionFactory的ConnectionFactory -->
<bean id="connectionFactory"
class="org.springframework.jms.connection.SingleConnectionFactory">
<!-- 目标ConnectionFactory对应真实的可以产生JMS Connection的ConnectionFactory -->
<property name="targetConnectionFactory" ref="targetConnectionFactory" />
</bean>
<!-- Spring提供的JMS模版工具. 它可以进行消息发送、接收等 -->
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<!-- 这个connectionFactory对应的是我们定义的Spring提供的那个ConnectionFactory对象 -->
<property name="connectionFactory" ref="connectionFactory" />
</bean>
<!--普通消息目的地,点对点 -->
<bean id="queue" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg>
<value>queue</value>
</constructor-arg>
</bean>
<!--会话消息目的地 -->
<bean id="sessionAwareQueue" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg>
<value>sessionAwareQueue</value>
</constructor-arg>
</bean>
<!-- 用于消息回复的 -->
<bean id="responseQueue" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg>
<value>responseQueue</value>
</constructor-arg>
</bean>
<bean id="PPH02001" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destination">
<bean class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="H02001"/>
</bean>
</property>
<property name="messageListener" ref="responseProductStoreOrProductStatusListener" />
</bean>
<bean id="PPH02002" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destination">
<bean class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="H02002"/>
</bean>
</property>
<property name="messageListener" ref="responseProductStoreOrProductStatusListener" />
</bean>
<bean id="PPH02003" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destination">
<bean class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="H02003"/>
</bean>
</property>
<property name="messageListener" ref="responseProductStoreOrProductStatusListener" />
</bean>
<bean id="PPH02004" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destination">
<bean class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="H02004"/>
</bean>
</property>
<property name="messageListener" ref="responseProductStoreOrProductStatusListener" />
</bean>
<bean id="PPH02005" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destination">
<bean class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="H02005"/>
</bean>
</property>
<property name="messageListener" ref="responseProductStoreOrProductStatusListener" />
</bean>
<bean id="PPH02006" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destination">
<bean class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="H02006"/>
</bean>
</property>
<property name="messageListener" ref="responseProductStoreOrProductStatusListener" />
</bean>
<bean id="PPH02007" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destination">
<bean class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="H02007"/>
</bean>
</property>
<property name="messageListener" ref="responseProductStoreOrProductStatusListener" />
</bean>
<bean id="PPH02008" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destination">
<bean class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="H02008"/>
</bean>
</property>
<property name="messageListener" ref="responseProductStoreOrProductStatusListener" />
</bean>
<bean id="PPH02009" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destination">
<bean class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="H02009"/>
</bean>
</property>
<property name="messageListener" ref="responseProductStoreOrProductStatusListener" />
</bean>
<bean id="PPH02010" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destination">
<bean class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="H02010"/>
</bean>
</property>
<property name="messageListener" ref="responseProductStoreOrProductStatusListener" />
</bean>
<!--会话信息监听器 监听门店和菜品状态流水消息 -->
<bean id="responseProductStoreOrProductStatusListener" class="com.brainlong.temp.listenter.ResponseProductStoreOrProductStatusListener">
</bean>
</beans>
处理消息JAVA类(ResponseProductStoreOrProductStatusListener.java)
public class ResponseProductStoreOrProductStatusListener implements MessageListener {
private static Logger logger = LoggerFactory.getLogger(ResponseProductStoreOrProductStatusListener.class);
public QServiceManager qServiceManager;
public void onMessage(javax.jms.Message message) {
qServiceManager = (QServiceManager) SpringContextUtils.getService("qServiceManager");
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
try {
if (textMessage.getText() != null) {
// JSONObject json = JSONObject.fromObject(textMessage.getText());
// logger.info("JMSMessageID:" + textMessage.getJMSMessageID()+",serialNo:"+json.optString("serialNo")+",orderNo:"+json.optString("orderNo")+",channelId:"+json.optString("channelId"));
String jsonStr = textMessage.getText();
logger.info("消息内容:" + jsonStr);
if (jsonStr != null && !jsonStr.equals("")){
qServiceManager.saveOrUpdatProductOrProductStoreStatus(jsonStr);
}
}
} catch (JMSException e) {
e.printStackTrace();
}
}
}
}