Java写的MQ客户端创建queuemanager失败(MQ部署在远程机器上)

xiaoyuzi 2012-10-25 06:03:35
用的client mode,原来一直在同一台机器测试,都是好用的,发消息都能送到queue里头。最近要开始部署了,mq和数据库放在一台服务器上,websphere application server放在另一台服务器上,在websphere administrative console里头创建queue connection factory,测试是可以连接上mq的,但是我在我本地测试机器上有个java写的queue消息发送小程序,
代码如下
MQQueueConnectionFactory m_MQQConnFactory = new com.ibm.mq.jms.MQQueueConnectionFactory();

try {
m_MQQConnFactory.setHostName(host);
m_MQQConnFactory.setQueueManager(queueManager);
m_MQQConnFactory.setPort(port);
m_MQQConnFactory.setChannel(channelName);

m_MQQConnFactory.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP);
m_MQQConnFactory.setFailIfQuiesce(JMSC.MQJMS_FIQ_YES);

// Make sure CCSID, otherwise it will not connect to MQ.
m_MQQConnFactory.setCCSID(ccsid);

QueueConnection m_QConn = m_MQQConnFactory.createQueueConnection();
。。。。
运行到上面createQueueConnection这里出错,出现如下错误
javax.jms.JMSException: MQJMS2005: failed to create MQQueueManager for 'x.x.x.x:XXX_QM'
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:614)
at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:2549)
at com.ibm.mq.jms.MQConnection.createQMNonXA(MQConnection.java:1899)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:176)
at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:196)
at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:114)

原来mq装在本地,这个程序一直好用的。请问如何解决这个问题?
...全文
521 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
humanity 2012-10-26
  • 打赏
  • 举报
回复
你的程序所在 windows 用户与MQ 所在windows 用户域有关系吗?你现在是用当前 windows 用户访问目标用户 MQ,用户凭证可能有关联的,你在程序的机器上换一个 windows 用户登录,这个 windows 用户在目标机器上也存在。另外测试 TCP 设置是否都是真实的 IP 而不是 localhost 这样的参数。
xiaoyuzi 2012-10-26
  • 打赏
  • 举报
回复
我解决了,是因为ccsid不一致导致的,server上安装默认都是用于english的ccsid,我客户端把这个改成一致的就好用了。
JasonYao 2012-10-26
  • 打赏
  • 举报
回复
1, 查看QueueManager有没有起动 2, 查看侦听端口有没有起动 3, 查看有没有中间有防火墙阻断了端口通信。

2,633

社区成员

发帖
与我相关
我的任务
社区描述
WebSphere 是 IBM 的软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。
社区管理员
  • WebSphere社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧