我无法连接IBM websphere MQ有人能告诉我在MQ中需要做什么初始设置才能使用简单的java代码从远程机器访问它吗?
除了产品附带的MQ示例之外,还有一长串Java&Java/JMS示例。
MQ Java(非JMS)的推荐做法是:
Hashtable mqht = new Hashtable();
mqht.put(CMQC.CHANNEL_PROPERTY, channelName);
mqht.put(CMQC.HOST_NAME_PROPERTY, hostName);
mqht.put(CMQC.PORT_PROPERTY, new Integer(portNumber));
try
{
MQQueueManager qMgr = new MQQueueManager(qMgrName, mqht);
System.out.println("Successfully connected to "+ qMgrName);
}
catch (com.ibm.mq.MQException mqex)
{
System.out.println("MQException cc=" +mqex.completionCode + " : rc=" + mqex.reasonCode);
}
确保您能够使用Java代码连接到Websphere MQ的几点:
-
您是否使用以下部署说明中的"验证安装"步骤验证了MQ服务器部署http://sadockobeth.blogspot.in/2014/03/how-to-install-ibm-websphere-mq-75-on.html
-
您是否启动了MQ服务器上配置的队列管理器的侦听器。您可以在此处找到启动Listener的命令http://bencane.com/2013/04/22/websphere-mq-cheat-sheet-for-system-administrators/
-
在默认安装的情况下,由于默认情况下强制执行的通道身份验证,通过TCP从Java应用程序进行的连接将失败。您可以通过查看队列管理器错误日志来确认这种情况。建议您考虑适当的方式来配置通道身份验证,以允许Java应用程序进行连接。非生产或测试设置的一种方法是禁用通道(请谨慎使用)。
-
如果以上所有内容都得到了处理,但仍然无法连接,那么您需要查看Java客户端代码,并从代码中看到的错误代码中获得更多信息。如果有任何真正的网络连接问题或其他一些事情,如防火墙阻止连接等。