当前位置: 首页 > 知识库问答 >
问题:

JMS ConnectionFactory上的WebLogic NameNotFound异常

缑兴贤
2023-03-14

我正在使用WebLogic服务器:12.1.1.0,Spring 3.2.11。2.13.4。

我的WebLogic上有一个ConnectionFactory。JNDI名称是:jms/ConnectionFactory。我使用servlet打印服务器中的所有JNDI名称,并在jms子上下文中找到它。

Spring配置为:

<bean id="jndiFactoryBean" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="jms/ConnectionFactory"/>
    <property name="jndiTemplate" ref="jndiTemplate"/>
    <property name="lookupOnStartup" value="false"/>
    <property name="proxyInterface" value="javax.jms.ConnectionFactory"/>
</bean>

我得到了一个错误:

GRAVE:无法刷新目的地CamelTest的JMS Connection-在5000毫秒内重试。原因:JndiObjectTargetSource未能获得新的目标对象;嵌套异常javax.naming.NameNotFound异常:当试图在 /app/webapp/camelweblogic.war/1720653836.中查找jms/ConnectionFactory时;剩余名称'jms/ConnectionFactory'

完整的跟踪是:

Caused by: javax.naming.NameNotFoundException: While trying to lookup 'jms.ConnectionFactory' didn't find subcontext 'jms'. Resolved '' [Root exception is javax.naming.NameNotFoundException: While trying to lookup 'jms.ConnectionFactory' didn't find subcontext 'jms'. Resolved '']; remaining name 'jms/ConnectionFactory'
        at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:237)
        at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:464)
        at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:272)
        at weblogic.jndi.internal.ServerNamingNode_1211_WLStub.lookup(Unknown Source)
        at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:418)
        at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:406)
        at javax.naming.InitialContext.lookup(InitialContext.java:392)
        at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:154)
        at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:87)
        at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:152)
        at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:178)
        at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95)
        at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105)
        at org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:231)
        at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:217)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1573)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1511)
        ... 86 more

我还尝试过使用以下JNDI名称:

  • java:jms/ConnectionFactory

共有1个答案

辛龙野
2023-03-14

当您使用WLST创建域时,您将连接工厂的JNDI名称设置为什么?通常您会在域设置脚本(. py)中看到类似的内容:

cf = create('ConnectionFactoryName', "ConnectionFactory")
cf.setName('ConnectionFactoryName')
cf.setJNDIName('ConnectionFactoryJNDIName')

在这种情况下,您只需使用

<bean id="jndiFactoryBean" class="org.springframework.jndi.JndiObjectFactoryBean">
   <property name="jndiName" value="ConnectionFactoryJNDIName"/>
   <property name="jndiTemplate" ref="jndiTemplate"/>
   <property name="lookupOnStartup" value="false"/>
   <property name="proxyInterface" value="javax.jms.ConnectionFactory"/>
</bean>

在你的春豆里。如果您没有自定义名称,那么添加一个名称可能很有价值。

 类似资料:
  • 我正在尝试在我的项目中使用docx4j。(我在这方面还是个新手。) 我只是尝试从这个链接运行示例代码。 http://www.smartjava.org/content/create-complex-word-docx-documents-programatically-docx4j 输入是。docx文件,输出也是一个. docx文件。 这是控制台在尝试读取我的模板文件时给我的信息: 此处的环境列

  • 问题内容: 尝试在WebLogic 11g上导出时,它将引发NoClassDefFound异常。我检查了应用程序WAR,并将jasperreports-3.7.4.jar包含在WEB-INF / lib文件夹中。有什么错误? 堆栈跟踪 java.lang.NoClassDefFoundError:net / sf.jasperreports.engine.fill.JRBaseFiller。(JR

  • 我有大约800万行500列的数据。当我试图用spark将它作为一个文件< code>coalesce(1)编写时,它失败了,并出现< code > out of memory exception 。 我知道这是一个执行器上的大量数据,但就我理解parquet的写入过程而言,它只在内存中保存一个行组的数据,然后将其刷新到磁盘,然后继续下一个。 我的执行器有16gb的内存,不能再增加了。数据包含很多字

  • 我写了一个简单的Hello World程序: 名为“HelloWorld.java”。然后我使用“javac HelloWorld.java”从cmd编译它,并获得类文件。运行命令“java-Xdiag HelloWorld”后,出现以下错误: 有人知道为什么会这样吗?操作系统是W10,我安装了jdk 11.0.1版<谢谢。

  • 问题内容: 我在登录模式提交按钮的单击侦听器中遇到问题。 这是错误。 我对什么是空指针异常有一个合理的了解,并且已经彻底搜索了一个类似于我的问题。我试图以几种方式重新格式化点击侦听器,确保我具有正确的视图ID等。 显然,还有更多但与我认为无关的话题。这是带有按钮的对话框的XML文件。 任何帮助将不胜感激。 问题答案: 是因为它不属于 当你调用内部的,它要寻找一个你的活动的布局中。 试试这个代替:

  • 我正在处理来自TCP套接字的大量事件(每秒10个套接字),因此我使用多线程来处理这些事件。 大多数情况下,这是正确的,但有时会出现这些事件的雪崩,有时我会得到一个ConcurrentModificationException: 12-10 14:08:42.071:E/AndreidRuntime(28135):致命例外:线程-369 12-10 14:08:42.071:E/AndreidRun