打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
JMS & IBM MQ & Spring 简单使用说明
作者:dtl
看了半天代码和网上的文章,终于弄明白了jms&mq在spring中的配置和使用,简单总结下发出来。当然还有很多东西需要深入,不废话继续学习。
一、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了,那边一直监听的类就可以取到消息了。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
spring jms同时使用queue和持久topic订阅 - - Java - Java...
activemq spring jencks实现异步数据传输
Spring远程调用小结
spring事务配置的奇技淫巧[赞]
在EasyJWeb使用spring容器
spring实现定时的2种方式
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服