JNDI 在 JMS 中使用 JBoss 查找错误
Posted
技术标签:
【中文标题】JNDI 在 JMS 中使用 JBoss 查找错误【英文标题】:JNDI look up error using JBoss in JMS 【发布时间】:2012-09-12 10:54:22 【问题描述】:我正在尝试使用 JMS 和 JBoss 为我的练习应用程序进行 JNDI 查找。
但我无法弄清楚为什么它无法查找。
我在destination-service.xml
中为 JBoss 添加了条目。
但正如您在图片中看到的我的代码,它仍然给我一个错误。
是否有任何我遗漏的代码部分,或者我是否必须将一些 jar 文件添加到路径或其他问题,您在查看我的堆栈跟踪后是否看到了错误。
我的班级
目的地服务.xml
错误
【问题讨论】:
【参考方案1】:当你启动 jboss 时,使用“run.sh -b 0.0.0.0”。默认情况下,jboss 是安全的,并且只绑定到 localhost。
也许this 会帮助你。
【讨论】:
是的,这可能是原因,但我正在从 Eclipse 运行 jboss,如何输入该 bash 命令?我认为在 jboss 的某些配置文件中必须输入与此等价的内容....【参考方案2】:您似乎根本无法连接到 JNDI 服务器。 检查您在客户端代码中提供的 jndi 服务器的主机/端口
作为“自检”,我还会尝试连接到驻留在 JNDI 树中的任何其他对象,我认为例外情况是一样的 :)
希望对你有帮助
【讨论】:
我使用了 properties.setProperty("java.naming.factory.provider.url", "localhost:1099");在代码中 是的,但是您是否在 Context initialContext = QueryConsumer.getInitialContext() 行中遇到此异常?或者它通过它并且稍后发生异常? 它使用值正确获取上下文;异常在 QueueConnectionFactory connectionFactory = (QueueConnectionFactory) initialContext.lookup("ConnectionFactory"); 在这种情况下,我猜你应该修改“ConnectionFactory”的名称。在 jmx 控制台中查看 JNDI 树 mbean 并找到您的对象 - 可能它是以其他名称部署的。 我检查了应用程序的 JNDI 名称,它是“/queue/Anuj” 我在代码中替换了相同的名称并运行了代码(只有差异是 '/')但无济于事,没有运行:(以上是关于JNDI 在 JMS 中使用 JBoss 查找错误的主要内容,如果未能解决你的问题,请参考以下文章
javax.jms.JMSSecurityException:用户名 [null] 或密码无效
当jboss 7服务器启动时,在jndi查找中获取appname
以编程方式确定JBoss 5.1中的JNDI根上下文/ ear名称