两个MQ队列管理器之间互相放消息的问题。
本地的MQ情况:我在本地MQ服务器上建立了两个MQ队列管理器,分别是A和B,
A和B分别建立了死信队列,本地队列,远程队列还有传输队列,
其中A的远程队列属性中的“远程队列”和“远程队列管理器”分别是B的“本地队列”和“队列管理器”,“传输队列”属性是A自身的传输队列。
B的远程队列情况和A的类似。
A和B还分别建立了通道类型为“发送方”和“接收方”的发送通道和接收通道。
请问如果A队列在另外一台服务器上,我怎么通过B队列管理器和外部程序来往A队列里面放消息呢?
就是外部的Java程序连接MQ的时候应该用谁的队列管理器信息,还有各个配置信息应该是怎么选取。
比如说我应该用谁的通道,应该用什么类型的通道。
我现在是用B的侦听端口,然后用B的发送通道,往B的远程队列里面放消息。结果报了
[MQJE001: MQException 出现:完成代码是 2,原因为 2009
MQJE016: 连接过程中,MQ 队列管理器立即关闭通道
关闭原因 = 2009] 这个错误信息。
请问正确的参数使用应该是什么样的? --------------------编程问答-------------------- 看来得自己回答了。搞了好一会儿终于发现了一个好帖子,正好和我这个疑问对应起来了。
详情请参照:http://www.webspherechina.net/club/viewthread.php?tid=1278 --------------------编程问答-------------------- 我也遇到了你这样的问题,一台机器上2个队列管理器的通信问题 --------------------编程问答-------------------- 非常感谢楼主,正好这两天在研究websphere MQ两个队列管理器之间的通信问题。 --------------------编程问答-------------------- 感谢楼主。我也是碰到跟楼主一样的问题。最后建立一个服务器连接通道解决问题。 --------------------编程问答-------------------- mark --------------------编程问答-------------------- 其实MQ这一块主要是用来做消息中间件的
在相应的开发过程中,要做的有两方面工作
1.你应用程序的列队管理器和对方队列管理器的配置与连通
2.你应用程序与自己应用程序列队管理器之间的通讯
分别来介绍一下这两方面的工作
首先是你自己的队列管理器与对方队列管理器的配置与连通
1.最基本的就是建立你的管理管理器,监听,设置相应的CCSID,死信队列等
2.如果你只是发送消息,就建立相应的传输队列,发送通道,远程队列(如果要接收消息就还要建接收通道和本地队列)
3.对方队列管理器建立接收通道,连通... ...
这样,基本的发送就OK了,消息的可靠性传输是由MQ本身的保证的
第二部分你应用程序与列队管理器之间的通讯
这一块主要是程序中对(自己)应用队列管理器的访问,服务器连接,打开列队,放入消息
你要把消息传给对方,只要你打开自己队列管理器的远程队列,放入消息,消息就会由MQ本身传输给对方的队列管理器的本地队列 --------------------编程问答-------------------- mark --------------------编程问答-------------------- --------------------编程问答-------------------- 呃~ 看来来晚了,^_^。
MQ是十分不错的消息中间件。它的机制比较有意思,解决的不仅是消息存取的问题,最主要的是,还解决了通信的问题。不仅仅指异步的通信机制,它本身就是一个通信网络。这一点是非常重要的。理解了这个问题就好办了。用一个比喻来说明的话,MQ网络就像是整个全国的邮政系统,而Queue Manager就像是一个一个的本地邮局,用户只要跟本地邮局通信就可以了。其他的事情,MQ的网络会搞定的,^_^。
希望能和大家交流心得。谢谢! --------------------编程问答-------------------- 我在同一个服务器上布置两个队列管理器A和B,向A队列里面放消息的时候也出现了这样的问题,该怎么配置修改呢? --------------------编程问答-------------------- 请教下,,分布在两台不同的机器的两个mq队列管理器。它们的ccsid不同,其他属性设置都正确可否进行通信。往远程队列中放消息的时候怎么指定ccsid。 --------------------编程问答-------------------- 只要这两个队列管理器的CCSID属于同一个语言集,MQ就可以在传送消息时自动转换。另外CCSID设置为1208(UTF-8)的队列管理器也可以和大部分的CCSID转换(不敢说一定支持全部CCSID,但是想不出为什么会有些CCSID会不支持),具体支持的转换关系可以在MQ的文档上找到,在MQ编程参考的附录中。
在消息头里有一个字段是CCSID,放消息时对这个字段赋值就可以指定CCSID了。
补充:企业软件 , WebSphere