我在Jboss5.0下开发MessageDrivenBean时,遇到了一个小错误,提示如下:
javax.naming.NameNotFoundException: QueueConnectionFactory not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
at org.jnp.server.NamingServer.lookup(NamingServer.java:443)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
产生这个错误,主要是因为在Jboss5.0下找不到QueueConnectionFactory。我登陆jboss5.0的http://localhost:8090/jmx-console/,在这个jboss/service=JNDIView/list/Global JNDI Namespace下查找,只有ConnectionFactory!
因此解决办法有了,把发送消息的java类中的QueueConnectionFactory修改一下即可,如下:
QueueConnectionFactory factory = (QueueConnectionFactory)ctx.lookup("QueueConnectionFactory");
改为-->
QueueConnectionFactory factory = (QueueConnectionFactory)ctx.lookup("ConnectionFactory");
OK,搞定!
解决JBoss5.0 QueueConnectionFactory未绑定问题
本文解决了在Jboss5.0环境下开发MessageDrivenBean时遇到的QueueConnectionFactory未绑定问题。通过调整代码中连接工厂的查找名称,成功使用了已存在的ConnectionFactory。
4394





