`
xiaotian_ls
  • 浏览: 304378 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

spring weblogic jms集成问题

阅读更多

昨天碰到一个问题,用spring集成weblogic的jms topic,报了一个错:

Object of type [class weblogic.jms.client.JMSConnectionFactory] available at JNDI location [MyJMSConnectionFactory] is not assignable to [javax.jms.TopicConnectionFactory]

 

详细信息如下:

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jmsConnectionFactory' defined in ServletContext resource [/WEB-INF/conf/applicationContext_weblogicmq.xml]: Invocation of init method failed; nested exception is org.springframework.jndi.TypeMismatchNamingException: Object of type [class weblogic.jms.client.JMSConnectionFactory] available at JNDI location [MyJMSConnectionFactory] is not assignable to [javax.jms.TopicConnectionFactory]
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1260)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:438)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:383)
 at java.security.AccessController.doPrivileged(Native Method)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:353)
 at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
 at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:394)
 at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:736)
 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:369)
 at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:261)
 at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
 at com.inspur.eoms.platform.startup.PlatformLoader.initWebApplication(PlatformLoader.java:62)
 at com.inspur.eoms.platform.startup.PlatformLoader.init(PlatformLoader.java:50)
 at com.inspur.eoms.platform.startup.PlatformLoaderListener.contextInitialized(PlatformLoaderListener.java:26)
 at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
 at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:608)
 at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:535)
 at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)
 at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
 at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
 at org.apache.catalina.core.StandardService.start(StandardService.java:450)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
Caused by: org.springframework.jndi.TypeMismatchNamingException: Object of type [class weblogic.jms.client.JMSConnectionFactory] available at JNDI location [MyJMSConnectionFactory] is not assignable to [javax.jms.TopicConnectionFactory]
 at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:157)
 at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:93)
 at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105)
 at org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:197)
 at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:184)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1288)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1257)
 ... 40 more
10-06-24 10:09:51 ERROR [/interface]:3767 - Exception sending context initialized event to listener instance of class com.inspur.eoms.platform.startup.PlatformLoaderListener
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jmsConnectionFactory' defined in ServletContext resource [/WEB-INF/conf/applicationContext_weblogicmq.xml]: Invocation of init method failed; nested exception is org.springframework.jndi.TypeMismatchNamingException: Object of type [class weblogic.jms.client.JMSConnectionFactory] available at JNDI location [MyJMSConnectionFactory] is not assignable to [javax.jms.TopicConnectionFactory]
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1260)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:438)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:383)
 at java.security.AccessController.doPrivileged(Native Method)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:353)
 at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
 at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:394)
 at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:736)
 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:369)
 at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:261)
 at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
 at com.inspur.eoms.platform.startup.PlatformLoader.initWebApplication(PlatformLoader.java:62)
 at com.inspur.eoms.platform.startup.PlatformLoader.init(PlatformLoader.java:50)
 at com.inspur.eoms.platform.startup.PlatformLoaderListener.contextInitialized(PlatformLoaderListener.java:26)
 at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
 at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:608)
 at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:535)
 at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)
 at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
 at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
 at org.apache.catalina.core.StandardService.start(StandardService.java:450)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
Caused by: org.springframework.jndi.TypeMismatchNamingException: Object of type [class weblogic.jms.client.JMSConnectionFactory] available at JNDI location [MyJMSConnectionFactory] is not assignable to [javax.jms.TopicConnectionFactory]
 at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:157)
 at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:93)
 at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105)
 at org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:197)
 at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:184)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1288)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1257)
 ... 40 more

 

google了半天也没找到解决办法,后来看到有个帖子后面写着可能是引入了重复的jms.jar,挨个看了下lib下的jar,果然发现有个geronimo-jms_1.1_spec-1.1.1.jar里面的jms类和weblogic里的jms类包路径相同,干掉它就好了.

分享到:
评论

相关推荐

    Spring+Weblogic JMS

    在本项目中,Spring与WebLogic JMS(Java消息服务)的集成展示了如何在Spring环境中使用消息队列进行通信。 WebLogic JMS是Oracle WebLogic Server提供的消息中间件,它遵循JMS规范,用于在分布式环境中传递消息,...

    spring,weblogic配置jms

    Spring框架是一个广泛使用的Java应用开发框架,它提供了与多种消息中间件集成的能力,包括WebLogic Server的JMS服务。WebLogic是Oracle公司的一款企业级应用服务器,它支持JMS规范,提供了强大的消息队列和发布/订阅...

    springboot集成weblogic的jms源码.zip

    这个"springboot集成weblogic的jms源码.zip"压缩包提供了将Spring Boot应用与WebLogic的JMS服务集成的示例代码。 首先,我们来看`JmsConfiguration.java`文件。这是一个配置类,通常用于设置与JMS相关的bean。在...

    Spring+weblogic9.2发送JMS消息

    博客文章《Spring+weblogic9.2发送JMS消息》可能详细介绍了上述过程,并可能涉及了实际代码示例和可能遇到的问题解决。在实际操作中,可能还会涉及到WebLogic服务器的配置,如创建JMS资源、设置权限等。同时,理解...

    Spring+weblogic接收JMS消息

    标题"Spring+weblogic接收JMS消息"涉及到的核心知识点是Spring框架与WebLogic Server之间的整合,以及如何利用Spring来处理JMS消息。下面将详细讲解这两个方面的内容。 1. **Spring对JMS的支持**: - Spring通过`...

    jms.rar_weblogic8 spring jms

    总的来说,"jms.rar_weblogic8_spring_jms"这个主题涉及的是在Spring框架下使用JMS与WebLogic 8.1集成的技术。它涵盖了从JMS服务的配置、消息模板的定义,到消息的生产和消费,以及可能的数据持久化配合。这种集成...

    weblogic与jms+spring

    JMS 是一个为Java平台设计的消息中间件接口,它允许应用程序通过消息传递进行通信,而Spring框架则提供了一种便捷的方式来管理应用程序的配置和服务,包括对JMS的集成。 **WebLogic的安装与配置:** 1. 下载...

    Spring JMS 消息处理-基于JNDI

    在“Spring JMS 消息处理-基于JNDI”的博文中,作者可能会讲解如何在应用服务器如Tomcat或WebLogic中配置JNDI资源,以及如何在Spring配置文件中声明JNDI查找。 1. **JMS核心概念**:首先,博客会介绍JMS的基本概念...

    weblogic 实用手册+Weblogic

    1. Spring框架集成:WebLogic支持Spring应用程序,可以与Spring Boot、Spring Security等配合使用。 2. Oracle Fusion Middleware:WebLogic是Oracle中间件的重要组成部分,可以与Oracle SOA Suite、Oracle ...

    weblogic管理员指南

    此外,它还支持与其他非甲骨文技术如Spring、Hibernate的集成,实现企业级应用的复杂需求。 总结来说,"Weblogic管理员指南"是深入了解和掌握WebLogic Server管理的宝贵资料,无论你是初学者还是经验丰富的管理员,...

    WebLogic企业级运维实战

    WebLogic可与其他Oracle产品(如Oracle Coherence、Oracle SOA Suite)以及非Oracle技术(如Spring、Hibernate)无缝集成,为构建复杂的企业级应用提供支持。 十、云环境下的运维 随着云计算的发展,WebLogic也提供...

    spring源码(注释+测试版)

    3. **spring-jms**:此模块为Java消息服务(JMS)提供支持,包括生产者、消费者以及与消息驱动bean的集成。如果你的项目中需要使用消息队列来解耦系统组件或实现异步处理,这个模块将大有裨益。 4. **spring-...

    WebLogic宝典,hungryminds.bea.weblogic.server.bible.pdf

    9. **集成与扩展**:了解WebLogic Server与其他技术(如Spring、OSGi、SOA等)的集成方式,以及如何编写自定义插件和扩展功能。 10. **WebLogic Server与Cloud**:随着云技术的发展,书中可能还会涵盖WebLogic在...

    weblogic10 手册

    - **与其他技术集成**:如与Spring框架、JPA(Java Persistence API)的集成方法。 - **插件与API**:介绍WebLogic Server提供的API和插件,用于自定义管理和扩展功能。 9. **故障排查**: - **日志与跟踪**:...

    day2013-0110-webLogic配置和集群(赵强).zip

    1. JMS(Java Message Service):WebLogic支持JMS服务,可用于异步通信和消息队列,提高系统性能和稳定性。 2. JDBC数据源:配置和管理JDBC数据源,连接到数据库,提供统一的访问接口,支持数据源的连接池和事务...

    weblogic 教学视频、文档!

    - **JMS集成**:Java Message Service允许应用程序异步通信,WebLogic支持JMS服务器和队列的配置。 - **EJB与SOA**:WebLogic Server支持Enterprise JavaBeans(EJBs)和Service-Oriented Architecture(SOA)组件的...

Global site tag (gtag.js) - Google Analytics