ActiveMQ客户端使用DEMO

本文探讨了为什么大部分码农难以成为架构师的原因,并详细介绍了架构师与普通程序员之间的关键区别,包括技能要求、思维方式及职业发展路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近期加班较多,身心疲惫,直接看配置吧;

<?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();
         }
      }
   }

}




转载于:https://my.oschina.net/jgy/blog/648568

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值