zoukankan      html  css  js  c++  java
  • spring中配置监听队列的MQ

    一、spring中配置监听队列的MQ相关信息
    注:${}是读取propertites文件的常量,这里忽略。绿色部分配置在接收和发送端都要配置。
     <bean id="axx" class="com.ibm.mq.jms.MQQueueConnectionFactory">
      <property name="hostName" value="${}" />
      <property name="port" value="${}" />
      <property name="queueManager" value="${}" />
      <property name="channel" value="${}" />
      <property name="CCSID" value="${}" />
      <property name="transportType" value="1"/>
     </bean>
     <bean id="bxx"
      class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
      <property name="targetConnectionFactory" ref="axx" />
     </bean>
      
     <!-- 定义一个队列,因为mq中消息有queue和topic的区别 -->
     <bean id="qxx" class="com.ibm.mq.jms.MQQueue">
       <constructor-arg index="0" value="${mq.queueManager}" />
       <constructor-arg index="1" value="${mq.corp.rev.queue}" />
     </bean>
    <!-- 定义监听队列的容器,注意容器下包含的属性变量,至少要有前三个-->
     <bean id="lxx"
      class="org.springframework.jms.listener.DefaultMessageListenerContainer"
      lazy-init="false">
      <property name="connectionFactory" ref="bxx" />
      <property name="destination" ref="qxx" />
      <property name="messageListener" ref="testListener" />
      <property name="sessionTransacted" value="true"/>  
     </bean>
         
    <!-- 定义队列使用的监听器类,有三种,这里不想说了。这个类配置在监听容器里了,一直监听队列,对消息进行处理->       
     <bean id="testListener" class="某个实现了jmsListener的实现类,如继承了MessageListener" />

    一、spring中配置发送消息的jmsTemplete的MQ相关信息

    <bean id="axx" class="com.ibm.mq.jms.MQQueueConnectionFactory">
      <property name="hostName" value="${}" />
      <property name="port" value="${}" />
      <property name="queueManager" value="${}" />
      <property name="channel" value="${}" />
      <property name="CCSID" value="${}" />
      <property name="transportType" value="1"/>
     </bean>
     <bean id="bxx"
      class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
      <property name="targetConnectionFactory" ref="axx" />
     </bean>
      
     <!-- 定义一个队列,因为mq中消息有queue和topic的区别 -->
     <bean id="qxx" class="com.ibm.mq.jms.MQQueue">
       <constructor-arg index="0" value="${mq.queueManager}" />
       <constructor-arg index="1" value="${mq.corp.rev.queue}" />
     </bean>
    <bean id="objJms" class="org.springframework.jms.core.JmsTemplate">
      <property name="connectionFactory" ref="bxx" />
      <property name="defaultDestination" ref="qxx" />
     </bean>
     
     <bean id="oxx" name="oxxx" class="某个自定义的发送类,直接使用自己的变量jmsTemplate的API进行send消息就ok了">
      <property name="jmsTemplate" ref="objJms" />
     </bean>
    在service业务类中直接注入“oxx”类,就可以发消息到MQ了,那边一直监听的类就可以取到消息了。
  • 相关阅读:
    浏览器刷新缓存机制
    Asp.Net获取IP的方法
    c# 了解委托
    用什么方法来判断字符串是否存在的函数
    怎么样从地址中获得数据?
    新网站如何不被百度查封,请注意以下事项。
    搜索引擎如何抓取网页和如何索引网页?
    什么情况下include_path不起作用?
    用户注册演示程序操作案例
    用户提交的cookie提交时为什么传不到服务器
  • 原文地址:https://www.cnblogs.com/yanduanduan/p/7156361.html
Copyright © 2011-2022 走看看