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了,那邊一直監聽的類就可以取到消息了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM