Spring JMS 整合Weblogic JMS(weblogicMQ)

2023-12-10 08:32

本文主要是介绍Spring JMS 整合Weblogic JMS(weblogicMQ),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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
Xml代码   收藏代码
  1. <beans xmlns="http://www.springframework.org/schema/beans"  
  2.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  3.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">  
  4.   
  5.     <bean id="weblogicJms" class="org.springframework.jndi.JndiTemplate">  
  6.         <property name="environment">  
  7.             <props>  
  8.                 <prop key="java.naming.factory.initial">  
  9.                     weblogic.jndi.WLInitialContextFactory   
  10.                 </prop>  
  11.                 <prop key="java.naming.provider.url">  
  12.                     t3://localhost:7001  
  13.                 </prop>  
  14.                 <prop key="java.naming.factory.url.pkgs">  
  15.                     weblogic.jndi.factories  
  16.                 </prop>  
  17.                 <prop key="java.naming.security.principal">  
  18.                     weblogic  
  19.                 </prop>  
  20.                 <prop key="java.naming.security.credentials">  
  21.                     weblogic11  
  22.                 </prop>  
  23.             </props>  
  24.         </property>  
  25.     </bean>  
  26.       
  27.     <!-- Connection factory -->  
  28.     <bean id="jmsConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">  
  29.         <property name="jndiName" value="weblogic.jms.ConnectionFactory0" />  
  30.         <property name="jndiTemplate" ref="weblogicJms"/>  
  31.     </bean>  
  32.       
  33.     <!-- Queue -->  
  34.     <bean id="jmsQueue" class="org.springframework.jndi.JndiObjectFactoryBean">  
  35.         <property name="jndiName" value="weblogic.jms.Queue0" />  
  36.         <property name="jndiTemplate" ref="weblogicJms"/>  
  37.     </bean>  
  38.       
  39.     <!-- Receiver -->  
  40.     <bean id="jmsReceiver" class="com.xp.MessageQueueReceiver">  
  41.     </bean>  
  42.       
  43.     <!-- Message Listener -->  
  44.     <bean id="listenerContainer"  
  45.         class="org.springframework.jms.listener.DefaultMessageListenerContainer">  
  46.         <property name="connectionFactory" ref="jmsConnectionFactory"/>  
  47.         <property name="destination" ref="jmsQueue"/>  
  48.         <property name="messageListener" ref="jmsReceiver"/>  
  49.         <property name="autoStartup" value="true"/>  
  50.     </bean>  
  51.       
  52.     <!-- Spring JMS Template -->  
  53.     <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate" lazy-init="true">  
  54.         <property name="connectionFactory" ref="jmsConnectionFactory" />  
  55.         <property name="defaultDestination" ref="jmsQueue" />   
  56.    </bean>  
  57.       
  58.     <!-- Sender -->  
  59.     <bean id="jmsSender" class="com.xp.MessageQueueSender"  
  60.         lazy-init="true">  
  61.         <property name="jmsTemplate" ref="jmsTemplate"></property>  
  62.     </bean>  
  63.       
  64. </beans>  


其中java.naming.security.principal和java.naming.security.credentials是weblogic的用户名和密码
另外注释掉上一篇日志里用的jms-activemq.xml
可以发现,采用SpringJMS以后,从ActiveMQ切换到WeblogicJMS是多么的灵活,代码都不用改,就改一个配置文件

3.我们想通过Tomcat来访问WeblogicJMS,于是要导入以下Jar包,
wlclient.jar(可从C:\oracle\Middleware\wlserver_10.3\server\lib下找到并复制出来)

4.启动tomcat,发现出错了
java.security.AccessControlException: access denied (javax.management.MBeanTrustPermission register)

5.上网搜索找到解决问题的临时方法,修改%JAVA_HOME%\jre\lib\security下的java.policy
最后加一行
permission javax.management.MBeanTrustPermission "register";

6. 再次启动tomcat,没问题了。按照上一篇日志的测试方法,测试通过。

还可以在Weblogic管理台监控消息
1)      在左窗格中选择”Services”—“Messaging”—“JMS Modules”;
2)      点击右窗格的” SystemModule-0””,然后点击”Queue-0”;
3)      点击"Monitoring"选项卡
4)     勾选SystemModule-0!Queue-0,点击Show messages



5)      点击New,随便输入信息,按OK



可在控制台看到接受者能收到此消息




这篇关于Spring JMS 整合Weblogic JMS(weblogicMQ)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/476574

相关文章

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

SpringCloud集成AlloyDB的示例代码

《SpringCloud集成AlloyDB的示例代码》AlloyDB是GoogleCloud提供的一种高度可扩展、强性能的关系型数据库服务,它兼容PostgreSQL,并提供了更快的查询性能... 目录1.AlloyDBjavascript是什么?AlloyDB 的工作原理2.搭建测试环境3.代码工程1.

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

SpringBoot操作spark处理hdfs文件的操作方法

《SpringBoot操作spark处理hdfs文件的操作方法》本文介绍了如何使用SpringBoot操作Spark处理HDFS文件,包括导入依赖、配置Spark信息、编写Controller和Ser... 目录SpringBoot操作spark处理hdfs文件1、导入依赖2、配置spark信息3、cont

springboot整合 xxl-job及使用步骤

《springboot整合xxl-job及使用步骤》XXL-JOB是一个分布式任务调度平台,用于解决分布式系统中的任务调度和管理问题,文章详细介绍了XXL-JOB的架构,包括调度中心、执行器和Web... 目录一、xxl-job是什么二、使用步骤1. 下载并运行管理端代码2. 访问管理页面,确认是否启动成功

Java中的密码加密方式

《Java中的密码加密方式》文章介绍了Java中使用MD5算法对密码进行加密的方法,以及如何通过加盐和多重加密来提高密码的安全性,MD5是一种不可逆的哈希算法,适合用于存储密码,因为其输出的摘要长度固... 目录Java的密码加密方式密码加密一般的应用方式是总结Java的密码加密方式密码加密【这里采用的

Java中ArrayList的8种浅拷贝方式示例代码

《Java中ArrayList的8种浅拷贝方式示例代码》:本文主要介绍Java中ArrayList的8种浅拷贝方式的相关资料,讲解了Java中ArrayList的浅拷贝概念,并详细分享了八种实现浅... 目录引言什么是浅拷贝?ArrayList 浅拷贝的重要性方法一:使用构造函数方法二:使用 addAll(

解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题

《解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题》本文主要讲述了在使用MyBatis和MyBatis-Plus时遇到的绑定异常... 目录myBATis-plus-boot-starpythonter与mybatis-spring-b