在MQ直接互相发送消息之间必须确保双方的MQ都正常工作。使用命令:dis chs(*) 就可以查看所有的通道状态,状态必须为Running才可以互相发送消息。
注意:这里的发送消息操作以上一篇文章创建的队列管理器为例。如果没有对MQ不是很清楚的可以先看上一篇文章。
一、实现在同一个队列管理器直接进行通信。
1、进入安装mq的目录中,进入samp目录下的bin目录中执行:amqsput MSGCCPC_1 QMU5810A ;此时会显示以下消息:
Sample AMQSPUT0 start
target MSGCCPC_1
2、在一行或多行上输入某些消息文本,然后按 Enter 键两次。 此时会显示以下消息:
Sample AMQSPUT0 end
3、此时消息已经发送到本地队列MSGCCPC_1 中,如果需要取出来可以使用命令:amqsget MSGCCPC_1 QMU5810A
注意:这里的本地队列MSGCCPC_1可以是写消息的队列或者是其他的本地队列。QMU5810A为A方的本地队列管理器。
4、当执行完第三步后,如果取得出消息说明可以通信。
二、实现在不同主机间不同的队列管理器进行通信。A<----------------->B
1、A方,进入安装mq的目录中,进入samp目录下的bin目录中执行:amqsput MSGCCPC_2 QMU5810A ;此时会显示以下消息:
Sample AMQSPUT0 start
target MSGCCPC_2
2、在一行或多行上输入某些消息文本,然后按 Enter 键两次。 此时会显示以下消息:
Sample AMQSPUT0 end
3、对于B方如果要获取A方发过来的队列消息,也需要进入安装mq的目录的samp下的bin目录中执行命令:amqsget MSGCCPC_BANK_1 QMU5810A_BANK
注意:这里的MSGCCPC_2为A方本地的远程队列。
如果可以获取到A方发过来的信息,说明A------------->B可以通信,同理,在B方的远程队列里写入消息,在A方的 本地队列也可以获取到消息。那就说明A<-----------------B可以通信。
至此:AB双方可以完成通信了,接下来就是实现应用系统间使用MQ来完成通信。