2011-12-13 73 views
3

我试图设置我的Java应用程序,该应用程序连接到MQ7中的本地队列管理器,而无需在绑定模式下在我的机器上安装WebSphere Application Server。如果不指定在.bindings文件中的主机,运行我的应用程序将某处抛出一个Java异常的线沿线的:服务器绑定模式连接Websphere MQ7而不在同一台服务器上安装WAS

com.ibm.msg.client.jms.DetailedIllegalStateException:JMSWMQ0018: 无法连接到排队经理'TBUKKKNN'连接模式 '客户'和主机名''。检查队列管理器是否已启动,如果在客户端模式下运行 ,请检查是否有侦听器正在运行。请参阅 链接的例外以获取更多信息。

尽管针对WebSphere MQ的文档已明确拒绝在没有在同一台计算机上安装WAS的情况下连接到MQ7的可能性,但我的同事非常有信心有此解决方法。

非常感谢任何人都可以帮助我解决这个问题。或者让我知道是否需要更多关于我的问题的说明。

回答

5

我写了an article回来,解释了如何做到这一点,所以我对任何文档说明它不能完成有点困惑。不仅有一种“解决方法”,但它得到官方支持,WMQ客户端安装介质附带的示例程序包括几个使用Java和JMS但不使用Java EE服务器的程序。如果由于某种原因,您只需抓取jar文件而不是安装供应商发行版,则可以免费下载以获取样本。 v7.0客户端is here和v7.1客户端is here。另外,请确保使用与您的客户端版本匹配的文档版本。 v7.0 Infocenter is here和v7.1 Infocenter is here。顺便说一下,任何客户端版本都可以连接到v7.0 QMgr。

无论如何,您的错误消息表明您的连接工厂传输类型仍然设置为客户端。您需要将其更改为BIND。属性描述here。具有所有管理对象的所有属性列表的登录页面is here

2

更改为cf.setTransportType(MQCNO_STANDARD_BINDING); ...应该工作

-1
cf.setTransportType(WMQConstants.WMQ_CM_BINDINGS); 
cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_BINDINGS); 
+0

你能提供一些解释? – Theresa 2016-02-15 01:31:06

相关问题