MQ通道配置示例:Server/Request
Server/Requester 通道也是一种较常见的通道配置方式,从消息流向来看,Server 作为消
息的发送方,Requester 作为消息的接收方。但是从连接方式来看,Requester 却是连接的主
动方,Server 是被动方(监听)。这种模式常用于动态IP 地址的环境中,Server 是静态IP 地址的服
务器,Requester 的机器上网后自动分配到一个IP 地址,所以是动态的,由Requester 发起
//创建并启动队列管理器MQ1
C:\windows\system32>CRTMQM QM1
C:\windows\system32>STRMQM QM1
//创建远程队列QR、传输队列QX以及通道C,并启动监听
C:\windows\system32>RUNMQSC QM1
5724-H72 (C) Copyright IBM Corp. 1994, 2009. ALL RIGHTS RESERVED.
启动队列管理器 QM1 的 MQSC。
DEFINE QREMOTE(QR) RNAME(QL) RQMNAME(QM2) XMITQ(QX) REPLACE
1 : DEFINE QREMOTE(QR) RNAME(QL) RQMNAME(QM2) XMITQ(QX) REPLACE
AMQ8006: WebSphere MQ 队列已创建。
DEFINE QLOCAL(QX) USAGE(XMITQ) REPLACE
2 : DEFINE QLOCAL(QX) USAGE(XMITQ) REPLACE
AMQ8006: WebSphere MQ 队列已创建。
DEFINE CHANNEL(C) CHLTYPE(SVR) TRPTYPE(TCP) XMITQ(QX) REPLACE
3 : DEFINE CHANNEL(C) CHLTYPE(SVR) TRPTYPE(TCP) XMITQ(QX) REPLACE
AMQ8014: WebSphere MQ 通道已创建。
END
4 : END
=================================
//启动监听
C:\windows\system32>start runmqlsr -m QM1 -t tcp -p 1415
C:\windows\system32>netstat -an | find /i "1415"
TCP 0.0.0.0:1415 0.0.0.0:0 LISTENING
TCP [::]:1415 [::]:0 LISTENING
同样,创建对应的队列管理器QM2以及本地队列QL和通道C
C:\windows\system32>CRTMQM QM2
C:\windows\system32>STRMQM QM2
C:\windows\system32>RUNMQSC QM2
DEFINE QLOCAL(QL) REPLACE
1 : DEFINE QLOCAL(QL) REPLACE
AMQ8006: WebSphere MQ 队列已创建。
DEFINE CHANNEL(C) CHLTYPE(RQSTR) TRPTYPE(TCP) CONNAME('127.0.0.1(1415)') REPLACE
2 : DEFINE CHANNEL(C) CHLTYPE(RQSTR) TRPTYPE(TCP) CONNAME('127.0.0.1(1415)') REPLACE
AMQ8014: WebSphere MQ 通道已创建。
END
3 : END
=============================================
C:\windows\system32>RUNMQSC QM2
start channel(C)
1 : start channel(C)
AMQ8018: 启动 WebSphere MQ 通道已接受。
END
2 : END
SESSION 1:
C:\windows\system32>amqsput QR QM1
Sample AMQSPUT0 start
target queue is QR
11111111
222222222222
Sample AMQSPUT0 end
与此同时
SESSION 2:
C:\windows\system32>amqsget QL QM2
Sample AMQSGET0 start
message <11111111>
message <222222222222>
no more messages
Sample AMQSGET0 end
Server/Requester 通道也是一种较常见的通道配置方式,从消息流向来看,Server 作为消
息的发送方,Requester 作为消息的接收方。但是从连接方式来看,Requester 却是连接的主
动方,Server 是被动方(监听)。这种模式常用于动态IP 地址的环境中,Server 是静态IP 地址的服
务器,Requester 的机器上网后自动分配到一个IP 地址,所以是动态的,由Requester 发起
连接后接收数据。在本例中,由QM2 (Requester) 启动通道start channel (C)。
//备注:谁发起连接,谁来启动channel,并且创建Channel的时候指定CONNAME,对方来启动监听。
STEP1: 创建Sender队列管理器以及队列
SESSION 1://创建并启动队列管理器MQ1
C:\windows\system32>CRTMQM QM1
C:\windows\system32>STRMQM QM1
//创建远程队列QR、传输队列QX以及通道C,并启动监听
C:\windows\system32>RUNMQSC QM1
5724-H72 (C) Copyright IBM Corp. 1994, 2009. ALL RIGHTS RESERVED.
启动队列管理器 QM1 的 MQSC。
DEFINE QREMOTE(QR) RNAME(QL) RQMNAME(QM2) XMITQ(QX) REPLACE
1 : DEFINE QREMOTE(QR) RNAME(QL) RQMNAME(QM2) XMITQ(QX) REPLACE
AMQ8006: WebSphere MQ 队列已创建。
DEFINE QLOCAL(QX) USAGE(XMITQ) REPLACE
2 : DEFINE QLOCAL(QX) USAGE(XMITQ) REPLACE
AMQ8006: WebSphere MQ 队列已创建。
DEFINE CHANNEL(C) CHLTYPE(SVR) TRPTYPE(TCP) XMITQ(QX) REPLACE
3 : DEFINE CHANNEL(C) CHLTYPE(SVR) TRPTYPE(TCP) XMITQ(QX) REPLACE
AMQ8014: WebSphere MQ 通道已创建。
END
4 : END
=================================
//启动监听
C:\windows\system32>start runmqlsr -m QM1 -t tcp -p 1415
C:\windows\system32>netstat -an | find /i "1415"
TCP 0.0.0.0:1415 0.0.0.0:0 LISTENING
TCP [::]:1415 [::]:0 LISTENING
STEP2: 创建Receiver队列管理器以及队列
SESSION 2:同样,创建对应的队列管理器QM2以及本地队列QL和通道C
C:\windows\system32>CRTMQM QM2
C:\windows\system32>STRMQM QM2
C:\windows\system32>RUNMQSC QM2
DEFINE QLOCAL(QL) REPLACE
1 : DEFINE QLOCAL(QL) REPLACE
AMQ8006: WebSphere MQ 队列已创建。
DEFINE CHANNEL(C) CHLTYPE(RQSTR) TRPTYPE(TCP) CONNAME('127.0.0.1(1415)') REPLACE
2 : DEFINE CHANNEL(C) CHLTYPE(RQSTR) TRPTYPE(TCP) CONNAME('127.0.0.1(1415)') REPLACE
AMQ8014: WebSphere MQ 通道已创建。
END
3 : END
=============================================
STEP3:启动通道,开始发送和接收消息:
SESSION 2:C:\windows\system32>RUNMQSC QM2
start channel(C)
1 : start channel(C)
AMQ8018: 启动 WebSphere MQ 通道已接受。
END
2 : END
SESSION 1:
C:\windows\system32>amqsput QR QM1
Sample AMQSPUT0 start
target queue is QR
11111111
222222222222
Sample AMQSPUT0 end
与此同时
SESSION 2:
C:\windows\system32>amqsget QL QM2
Sample AMQSGET0 start
message <11111111>
message <222222222222>
no more messages
Sample AMQSGET0 end