一、spring中配置監聽隊列的MQ相關信息
注:${}是讀取propertites文件的常量,這里忽略。綠色部分配置在接收和發送端都要配置。
注:${}是讀取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>
<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>
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>
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" />
<bean id=" testListener" class="某個實現了jmsListener的 實現類,如繼承了MessageListener" />
一、spring中配置發送消息的jmsTemplete的MQ相關信息
<bean id="axx" class=" com.ibm.mq.jms.MQQueueConnectionFactory ">
<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>
<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>
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>
<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了,那邊一直監聽的類就可以取到消息了。