IBM MQ + WebSphere + Spring JMS配置方法
首先要在WAS里面配置IBM MQ作為JMS消息的提供者,在WAS管理控制台: Resources->JMS Providers->WebSphere MQ,首先創建一個連接工廠,點擊 WebSphere MQ connection factories 填好配置選項,CCSID 注意下這個選項,這個是隊列管理器所用到的字符集,中文簡體(1381),其他的就沒什么要特別注意的地方了,保存后返回到前一頁面。點擊WebSphere MQ queue destinations 進入后點擊NEW進入創建頁面,注意 Base queue name 這一選項要填寫跟MQ一樣的消息隊列名稱。Target client 有JMS和MQ兩個區別,如果你想在隊列里面存放java序列化對象就得選JMS,其他選項任意填然后保存。
下面是Spring配置代碼:
Java代碼
1.<?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:util="http://www.springframework.org/schema/util" xmlns:jee="http://www.springframework.org/schema/jee" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd ">
2.<jee:jndi-lookup id="connectionFactory" jndi-name="${jms.connection.factory}">
3. <jee:environment>
4. java.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactory java.naming.provider.url=iiop://localhost:2809
5. java.naming.factory.url.pkgs=com.ibm.ws.naming
6. </jee:environment>
7.</jee:jndi-lookup>
8.<jee:jndi-lookup id="destination" jndi-name="${jms.connection.destination}">
9. <jee:environment>
10. java.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactory java.naming.provider.url=${jms.provider.url} java.naming.factory.url.pkgs=com.ibm.ws.naming
11. </jee:environment>
12.</jee:jndi-lookup>
13.<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
14. <property name="connectionFactory" ref="connectionFactory" />
15. <property name="defaultDestination" ref="destination" />
16.</bean>
17.<bean id="messageProducer" class="govhk.ha.eface.core.jms.MessageProducer">
18. <property name="jmsTemplate" ref="jmsTemplate" />
19.</bean>
20.<bean id="messageListener" class="govhk.ha.eface.core.jms.MessageConsumer"> </bean>
21.<bean id="jmsTransactionManager" class="org.springframework.jms.connection.JmsTransactionManager">
22. <property name="connectionFactory" ref="connectionFactory" />
23.</bean>
24.<bean id="listenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
25. <property name="concurrentConsumers" value="5" />
26. <property name="connectionFactory" ref="connectionFactory" />
27. <property name="destination" ref="destination" />
28. <property name="messageListener" ref="messageListener" />
29. <property name="transactionManager" ref="jmsTransactionManager" />
30.</bean>
31.<bean id="mailSender" class="govhk.ha.eface.core.mail.MailSender">
32. <property name="messageProducer" ref="messageProducer" />
33.</bean>
