【发布时间】:2016-05-18 15:21:42
【问题描述】:
我是 JMS 编程的新手,遇到了 NameNotFoundException,尽管在查看管理控制台时,它显示了失败的 JNDI 名称。
产生的异常是:
javax.naming.NameNotFoundException:无法解析“tutorialqueue”。解决 '';剩下的名字'tutorialqueue' 在 weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException (BasicNamingNode.java:1139) 在 weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:252) 在 weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182) 在 weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206) 在 weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254) 在 weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:411)
在管理控制台中,我看到:
名称 - TutorialJmsConnectionFactory
类型 - 连接工厂
JNDI 名称 - tutorialconnectionfactory
子部署 - 默认定位
目标 - AdminServer
名称 - TutorialJmsQueue
类型 - 队列
JNDI 名称 - 教程队列
子部署 -
目标 -
控制台显示异常表示它找不到的tutorialqueue JNDI 名称。此外,已成功找到 tutorialconnectionfactory 名称。可能与子部署和/或目标为空白有关吗?
这是查找发生/失败的代码:
QueueConnectionFactory queueFactory = ( QueueConnectionFactory ) ic.lookup( "tutorialconnectionfactory" );
QueueConnection queueConnection = queueFactory.createQueueConnection();
QueueSession queueSession = queueConnection.createQueueSession( false , Session.AUTO_ACKNOWLEDGE );
Queue queue = ( Queue ) ic.lookup( "tutorialqueue" );
QueueSender sender = queueSession.createSender( queue );
谁能指出我正确的方向? TIA
【问题讨论】:
标签: jakarta-ee jms weblogic