我正在尝试让一个应用程序在JBoss集群上工作。它在内部使用队列,开发人员声称它应该在集群环境中正确工作。我把jbossmq设置为集群中的ha-singleton。应用程序在当前运行队列的哪个节点上正确工作,但在其他节点上失败,错误为:"javax.naming.NameNotFoundException: QueueConnectionFactory not bound“错误。我可以从jmx控制台查看JNDIview,并且可以看到QueueConnectionFactory类实际上只出现在全局上下文中的主节点上。是否有一种方法可以查看集群的JNDI列表而不是每个服务器?
我从默认的JBos4.2.3.GA安装中采取的步骤是使用"all“配置。然后删除/server/all/部署/hsqldb-ds.xml和/deploy-hasingleton/jms/hsqldb-jdbc2-service.xml,,将/jms/mysq-jdbc2-service.xml文件复制到它的位置(编辑该文件以使用DefaultDS而不是MySqlDS)。最后,我在deploy目录中创建了一个mysql-ds.xml文件,将"DefaultDS“指向一个空数据库。我在deploy目录中创建了一个带有队列定义的-services.xml文件。如下所示:
<server>
<mbean code="org.jboss.mq.server.jmx.Queue"
name="jboss.mq.destination:service=Queue,name=myfirstqueue">
<depends optional-attribute-name="DestinationManager">
jboss.mq:service=DestinationManager
</depends>
</mbean>
</server>工作的所有其他集群特性,服务器在视图中相互列出,会话正在来回复制。在这方面,JBoss文档有些轻盈,我可能错过了另一种设置吗?或者这可能是一个代码问题(是否有不同的代码在集群环境中执行JNDI查找?)
谢谢
发布于 2009-06-18 16:49:50
问题是密码的问题。@resource语法显然与集群不兼容。开发人员尝试了另一种方法,并正确地工作了。
https://serverfault.com/questions/26834
复制相似问题