Spring JMS 整合Tomcat和Weblogic JMS
本篇我们将继续使用上一篇日志的工程环境,只是MQ改用Weblogic JMS
1. Weblogic JMS配置
1.1. JMS Server配置
1)????? 启动weblogic11g 管理控制台;
2)????? 在左窗格中选择”Services”—“Messaging”—“JMS Servers”;
3)????? 点击右窗格的”New”按钮;
4)????? 输入JMS Server的名称JMSServer-0,点击”Next”;
5)????? 将Target选择指向AdminServer,点击”Finish”;
1.2. JMS Modules配置
1)????? 在左窗格中选择”Services”—“Messaging”—“JMS Modules”;
2)????? 点击右窗格的”new”按钮;
3)????? 输入System Module的名称SystemModule-0,点击”Next”;
4)????? 将Servers表框中”AdminServer”前面的复选框选中,点击”Next”;
5)????? 选中” Would you like to add resources to this JMS system module?”,点击”Finish”;
1.3. JMS Subdeployments配置
1)????? 在左窗格中选择”Services”—“Messaging”—“JMS Modules”;
2)????? 点击右窗格的”SystemModule-0”,然后点击”Subdeployments”选项卡中的”New”按钮;
3)????? 输入Subdeployment 的名称Subdeployment-0,点击”Next”;
4)????? 选中JMS Servers中”JMSServer-0”,点击”Finish”.
1.4. JMS Connection Factory配置
1)????? 在左窗格中选择”Services”—“Messaging”—“JMS Modules”;
2)????? 点击右窗格的” SystemModule-0””,然后点击”New”按钮;
3)????? 选择”Connection Factory”,点击”Next”;
4)????? 输入”Connection Factory”的名称ConnectionFactory-0和”JNDI”的名称weblogic.jms.ConnectionFactory0,点击”Next”;
5)????? 点击”Advanced Targeting”,将”Subdeployment”下拉选中Subdeployment-0;
6)????? 选中”JMS Servers”框中JMSServer-0,点击”Finish”;
1.5. JMS Queue配置
1)????? 在左窗格中选择”Services”—“Messaging”—“JMS Modules”;
2)????? 点击右窗格的” SystemModule-0””,然后点击”New”按钮;
3)????? 选择”Queue”,点击”Next”;
4)????? 输入” Queue”的名称Queue -0和”JNDI”的名称weblogic.jms.Queue0,点击”Next”;
5)????? 将”Subdeployment”下拉选中Subdeployment-0,点击”Finish”;
2.写Spring的配置文件,假设存在这个文件里:jms-weblogic.xml
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="weblogicJms" value="weblogic.jms.ConnectionFactory0" /> <property name="jndiTemplate" ref="weblogicJms"/> </bean> <!-- Queue --> <bean id="jmsQueue" value="weblogic.jms.Queue0" /> <property name="jndiTemplate" ref="weblogicJms"/> </bean> <!-- Receiver --> <bean id="jmsReceiver" ref="jmsConnectionFactory"/> <property name="destination" ref="jmsQueue"/> <property name="messageListener" ref="jmsReceiver"/> <property name="autoStartup" value="true"/> </bean> <!-- Spring JMS Template --> <bean id="jmsTemplate" lazy-init="true"> <property name="connectionFactory" ref="jmsConnectionFactory" /> <property name="defaultDestination" ref="jmsQueue" /> </bean> <!-- Sender --> <bean id="jmsSender" ref="jmsTemplate"></property> </bean> </beans>