`
xpenxpen
  • 浏览: 725019 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Spring JMS 整合Tomcat和Weblogic JMS

    博客分类:
  • MQ
 
阅读更多
本篇我们将继续使用上一篇日志的工程环境,只是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" class="org.springframework.jndi.JndiTemplate">
        <property name="environment">
            <props>
                <prop key="java.naming.factory.initial">
                    weblogic.jndi.WLInitialContextFactory 
                </prop>
                <prop key="java.naming.provider.url">
                    t3://localhost:7001
                </prop>
                <prop key="java.naming.factory.url.pkgs">
                    weblogic.jndi.factories
                </prop>
				<prop key="java.naming.security.principal">
				    weblogic
				</prop>
				<prop key="java.naming.security.credentials">
				    weblogic11
				</prop>
            </props>
        </property>
    </bean>
    
    <!-- Connection factory -->
    <bean id="jmsConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName" value="weblogic.jms.ConnectionFactory0" />
        <property name="jndiTemplate" ref="weblogicJms"/>
    </bean>
    
    <!-- Queue -->
    <bean id="jmsQueue" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName" value="weblogic.jms.Queue0" />
        <property name="jndiTemplate" ref="weblogicJms"/>
    </bean>
    
    <!-- Receiver -->
    <bean id="jmsReceiver" class="com.xp.MessageQueueReceiver">
    </bean>
    
    <!-- Message Listener -->
    <bean id="listenerContainer"
        class="org.springframework.jms.listener.DefaultMessageListenerContainer">
        <property name="connectionFactory" ref="jmsConnectionFactory"/>
        <property name="destination" ref="jmsQueue"/>
        <property name="messageListener" ref="jmsReceiver"/>
        <property name="autoStartup" value="true"/>
    </bean>
    
    <!-- Spring JMS Template -->
    <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate" lazy-init="true">
        <property name="connectionFactory" ref="jmsConnectionFactory" />
        <property name="defaultDestination" ref="jmsQueue" /> 
   </bean>
    
    <!-- Sender -->
    <bean id="jmsSender" class="com.xp.MessageQueueSender"
        lazy-init="true">
        <property name="jmsTemplate" ref="jmsTemplate"></property>
    </bean>
    
</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



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




  • 大小: 34.7 KB
  • 大小: 10.6 KB
  • 大小: 28.8 KB
  • 大小: 6.9 KB
  • 大小: 5.5 KB
  • 大小: 23 KB
  • 大小: 25 KB
  • 大小: 25.2 KB
  • 大小: 17.5 KB
  • 大小: 61.8 KB
  • 大小: 22 KB
  • 大小: 14.5 KB
  • 大小: 27 KB
  • 大小: 24 KB
  • 大小: 29.7 KB
  • 大小: 20.4 KB
分享到:
评论
1 楼 雁行 2013-10-29  
Spirng 能同时整合weblogic jms和activemq吗?

相关推荐

    tomcat、weblogic、jboss的区别,容器的作用

    - JBoss全面支持Java EE标准,提供了一整套的企业级服务,如ejb、JMS、JPA等,并且集成了Spring框架和其他开源技术。 - JBoss以模块化设计和高度可扩展性闻名,适合需要复杂业务逻辑和高可用性的系统。 - JBoss...

    Spring JMS 消息处理-基于JNDI

    通过学习这篇博客,开发者可以了解到如何利用Spring JMS和JNDI在Java应用程序中实现高效、可靠的异步通信,提升系统的可扩展性和稳定性。这种技术在微服务架构和分布式系统中尤其有价值,因为它们通常依赖于消息传递...

    Spring+weblogic9.2发送JMS消息

    集成Spring和WebLogic 9.2发送JMS消息的步骤如下: 1. **配置JMS连接工厂**:在Spring的配置文件中,你需要定义一个JMS连接工厂。这通常通过`jee:jndi-lookup`标签完成,指定在WebLogic中注册的JMS连接工厂JNDI名称...

    mac版apache-tomcat-8.5.24.tar

    - **EJB与JMS**:Tomcat虽然不支持完整的Java EE功能,但可以通过与外部应用服务器(如JBoss或WebLogic)集成,利用Enterprise JavaBeans (EJB)和Java Message Service (JMS)。 9. **故障排查**: 当遇到问题时,...

    Tomcat 6.0.20

    然而,对于大型企业级应用,可能会选择功能更全的服务器,如IBM WebSphere或Oracle WebLogic,它们提供了更多的管理和集成特性。 总的来说,Apache Tomcat 6.0.20是一个可靠的选择,适合那些需要快速开发和部署Java...

    精通J2EE--Eclipse、Struts、Hibernate及Spring整合应用案例.doc

    ### 精通J2EE--Eclipse、Struts、Hibernate及Spring整合应用案例 #### J2EE基础知识 - **J2EE定义**:Java 2 Platform, Enterprise Edition(J2EE)是一种由Sun Microsystems(现已被Oracle收购)制定的企业级Java...

    Java面试题合集(javaee,spring,springmvc,springboot,mybatis,mysql

    面试中可能会问到关于Web容器和应用服务器的知识,例如Tomcat与WebLogic的区别,以及如何部署和管理JavaEE应用程序。 Spring框架是Java后端开发的核心,它简化了依赖注入、AOP(面向切面编程)、事务管理等多个方面...

    spring-boot-reference.pdf

    Spring Boot Documentation 1. About the Documentation 2. Getting Help 3. First Steps 4. Working with Spring Boot 5. Learning about Spring Boot Features 6. Moving to Production 7. Advanced Topics II. ...

    [程序天下:J2EE整合详解与典型案例.教程_光盘4.rar

    3. **JMS和JTA**:讲解如何使用JMS进行异步消息传递,提高系统的可扩展性和解耦性;以及JTA在多资源事务管理中的应用,确保跨多个操作的一致性。 4. **数据库集成**:J2EE提供了JDBC(Java Database Connectivity)...

    Apress.Pro.Java.EE.Spring.Patterns.Aug.2008.rar

    9. **容器与部署**:Java EE应用通常在应用服务器如Tomcat、Glassfish或WebLogic中运行,书中可能会涵盖应用打包、部署及在不同容器中的配置。 通过阅读《Apress.Pro.Java.EE.Spring.Patterns.Aug.2008》,开发者...

    ActiveMQ应用与实例1

    2. 支持运行在各种J2EE服务器上,如Tomcat、JBoss、GlassFish和WebLogic。 3. 提供多语言客户端,覆盖了各种编程语言。 4. 支持多种通信协议,如VM、TCP、SSL、HTTP、UDP等。 5. 内置Spring框架集成,简化应用开发。...

    javaee三大框架SSH(spring,hibernate,struts)学习

    - **依赖注入(Dependency Injection, DI)**: 是Spring的核心特性之一,通过依赖注入,Spring框架管理了对象的创建和生命周期,使得代码更加松散耦合。 - **面向切面编程(Aspect Oriented Programming, AOP)**: ...

    例释JAVA2企业版(J2EE)程序设计

    1. **Web容器**:Web容器(如Tomcat或WebLogic)负责管理Web应用程序的生命周期,处理HTTP请求,并提供Servlet和JSP(JavaServer Pages)的运行环境。Servlet是Java编写的小型服务器端程序,用于生成动态内容,而JSP...

    Java Web整合开发王者归来3

    8. **部署与容器**:了解如何配置和管理应用服务器,如Tomcat、Jetty或WebLogic等,以及如何打包和部署WAR或EAR文件。 9. **版本控制与构建工具**:Git等版本控制系统和Maven、Gradle等构建工具在团队协作和自动化...

    J2EE应用实践教程[电子教案]

    例如,Tomcat是一个轻量级的Servlet容器,而WebLogic和JBoss则是功能更全面的Application Server,支持EJB和其他高级服务。 J2EE还强调了组件化开发,EJB3引入了POJO(Plain Old Java Object)的概念,使得编写EJB...

    J2EE专业项目实例开发

    如JPA(Java Persistence API)或Hibernate用于对象关系映射,Struts、Spring MVC等框架用于构建MVC模式的Web应用,以及Tomcat、WebLogic、WebSphere等应用服务器的使用和配置。 通过这些实例,开发者不仅可以了解...

    middleware server

    - **应用服务器**:如Tomcat或WebLogic,承载Java应用程序。 - **消息队列**:如ActiveMQ或RabbitMQ,用于消息传递。 - **数据库连接池**:如HikariCP或C3P0,优化数据库连接的管理和复用。 - **配置文件**:如...

    MyEclipse 6 Java EE 开发中文手册.rar

    手册将阐述如何编写和运行JUnit测试,配置和使用Tomcat或WebLogic等服务器进行调试。 9. **项目管理和团队协作**:MyEclipse支持版本控制工具如SVN和CVS,便于团队协作。手册会讲解如何设置版本控制系统,进行代码...

    J2EE开发全程实录

    10. **测试与部署**:涵盖单元测试、集成测试、性能测试等,以及如何在不同应用服务器(如Tomcat、WebLogic、JBOSS等)上部署J2EE应用。 通过《J2EE开发全程实录》,读者不仅可以系统学习J2EE技术,还能通过丰富的...

Global site tag (gtag.js) - Google Analytics