gpt4 book ai didi

jakarta-ee - 在 WebLogic 10.3.5 中查找 JMS 队列时 JNDI 查找失败

转载 作者:行者123 更新时间:2023-12-04 05:52:24 24 4
gpt4 key购买 nike

我是 JMS 编程的新手并且遇到了 NameNotFoundException,尽管在查看管理控制台时,它显示了失败的 JNDI 名称。

产生的异常是:

javax.naming.NameNotFoundException:无法解析“教程队列”。解决 '';剩余名称“教程队列”
在 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 名称 - 教程队列
子部署 -
目标 -

控制台显示异常表示找不到的教程队列 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

最佳答案

在 weblogic 中,您应该将队列设置为使用与连接工厂相同的子部署和目标,两者都需要在 JVM 中找到。更新队列的目标和子部署以匹配连接工厂,它应该开始工作。

关于jakarta-ee - 在 WebLogic 10.3.5 中查找 JMS 队列时 JNDI 查找失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9914284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com