Websphere MQ 通道自动重连的问题

起因:
windows的MQ队列向AIX发送消息,发送完成,消息堵塞在传输队列,同时之前同AIX连接的通道关闭。状态为“正在重试”。
解决办法:
查明错误码,是CCSID编码格式不匹配引起的
AIX上的MQ 队列管理器的ccsid编码格式是819
windows的MQ 队列管理器的 ccsid 编码格式 1381.
之后将Windows 的MQ 队列管理器的CCSID 编码格式修改为 819
过程: 1, runmqsc <队列管理器名>
2, alter qmgr ccsid(819)

重启队列管理器后生效,ccsid 更改为 819

此时通过windows MQ资源管理器向AIX的远程队列发送测试消息,异常不成功。现象同之前相同。但是通过AIX向windows的队列发送消息,能够成功的。

查询各种资料,如在中文 websphere 技术论坛的([url]http://www.webspherechina.net/club/viewthread.php?tid=16058&extra=&page=2[/url])
你缺少的是这个表:05650333.tbl
如果这个表存在的话。
只说明了现象,依然无法解决

最后谷歌查英文资料([url]http://www.mqseries.net/phpBB2/viewtopic.php?t=60792&sid=3c05ba981176264a0be989dc145d8d87[/url])发现:
需要修改ccsid.tbl ,文件位置在我的电脑的位置是: c:\IBM\WebSphere MQ\conv\table
开启MQ server 的CCSID转换功能
去除之前的注释即可

# DEFAULT DATA CONVERSION
#
# You can define default conversion CCSIDs which will be used to convert
# between ASCII or similar and EBCDIC CCSIDs if no conversion is supported
# between two CCSIDs. If enabled, the default conversion is used for
# transmission and message headers and can also be enabled in user data
# conversion. For more information see the System Administration book.
#
# Default conversions are enabled by creating two lines similar to the
# two following, but removing the # character which indicates a comment.
default 0 500 1 1 0
default 0 850 1 2 0


报文发送后,依然有2011 错误。服务器MQGET 报的
原来是MQMessage的报文内容需要更改编码格式
将MQMessage 设置为 819的格式,如下:

MQMessage reqMsg = new MQMessage();
reqMsg.encoding = 273;
reqMsg.characterSet = 819;
reqMsg.format = MQConstants.MQFMT_STRING;

以上内容参考自:[url]http://zrcoffee.iteye.com/blog/1172344[/url]
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值