Jboss Jndi的名字没有约束

时间:2014-09-12 10:17:28

标签: jboss jms jndi

我对问题感到沮丧,我花了好几个小时试图解决它! 问题是。我试图查找已经在我的jboss服务器中声明的主题(MyBestTopic),但我有这个异常

2014-09-12 11:50:13,232 ERROR [STDERR] javax.naming.NameNotFoundException: MyBestTopic not bound
2014-09-12 11:50:13,239 ERROR [STDERR]  at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
2014-09-12 11:50:13,239 ERROR [STDERR]  at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
2014-09-12 11:50:13,239 ERROR [STDERR]  at org.jnp.server.NamingServer.getObject(NamingServer.java:543)

在我的java代码中,我试图检索这样的主题:

dest = (Topic) jndiContext.lookup("topic/MesBestTopic"); 

看看jboss服务器的启动,我可以看到该主题与正确的名称绑定良好:

2014-09-12 11:49:43,261 INFO  [org.jboss.mq.server.jmx.Topic.MyBestTopic] Bound to JNDI name: topic/MyBestTopic

最后,当我在jmx-console上看到jndiView树时,主题也得到了很好的部署:

Global JNDI Namespace


+- XAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory)
+- TransactionSynchronizationRegistry (class:     com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionSynchronizationRegistryImple)
+- TopicConnectionFactory (class: org.jboss.naming.LinkRefPair)
+- UIL2ConnectionFactory[link -> ConnectionFactory] (class: javax.naming.LinkRef)
+- UserTransactionSessionFactory (proxy: $Proxy15 implements interface   org.jboss.tm.usertx.interfaces.UserTransactionSessionFactory)
+- console (class: org.jnp.interfaces.NamingContext)
|   +- PluginManager (proxy: $Proxy48 implements interface org.jboss.console.manager.PluginManagerMBean)
+- UIL2XAConnectionFactory[link -> XAConnectionFactory] (class: javax.naming.LinkRef)
+- HTTPConnectionFactory (class: org.jboss.mq.SpyConnectionFactory)
+- QueueConnectionFactory (class: org.jboss.naming.LinkRefPair)
+- topic (class: org.jnp.interfaces.NamingContext)
|   +- **MyBestTopic** (class: org.jboss.mq.SpyTopic)
+- HTTPXAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory)

同样的java在另一个具有相同部署主题和数据源的jboss中工作正常!!!

我对做什么很困惑......任何人有想法吗?

1 个答案:

答案 0 :(得分:0)

找出我的问题。

事实上我在同一台机器上运行了两个jboss。一个Jboss已经是jms的端口1099。另一个使用另一个端口(10099)。在我的代码中,我已经指定了端口1099,它永远不会工作,因为这个是另一个jboss使用的!

希望这可以帮助别人......