互联网服务AIX配置MQ

MQ在AIX环境服务端和模拟客户端配置步骤

本文作者:zglcl008

首先,配置AIX的本地服务端队列管理器,创建接收队列、接收通道、发送队列、远端发送队列、远端发送通道,建立监听等。

其次,在本地配制另一队列管理器,模拟WINDOWS客户端或者远端MQ服务器,与本地服务端队列管理器进行通信。配置步骤基本同本地的服务端相同,对应好两边的通道,队列,监听端口即可。

这样就省了WIiNDOWS客户端或者远端MQ服务器等另外一台机器的安装。



具体步骤如下:



*********************************
------一、   AIX的本地服务端配置
*********
Aix下建立mq队列的步骤说明
1. 安装mqm程序包
2. 建立队列管理器:QMECDS,注意/usr/mqm/log/是日志存放路径,要求mqm用户有写权限。
#crtmqm -ld /usr/mqm/log/ -lc -lp 10 -ls 5 QMECDS

3. 启动队列管理器
#strmqm QMECDS

4. 进行队列管理器命令窗
#runmqsc QMECDS

5. 创建一个接收队列(本地):ECDS_RCVL
def ql(ECDS_RCVL) maxdepth(10000) defpsist(yes) replace

6. 创建一个接收通道: ECDS_CHLR   应对对方的远端发送通道
def chl(TEST_CHLR) chltype(rcvr) trptype(tcp) replace

7. 创建一个发送队列(本地): ECDS_SNDL
def ql(ECDS_SNDL) usage(XMITQ) defpsist(YES) maxdepth(10000) trigger trigtype(FIRST) trigdata(ECDS_CHLS) initq(SYSTEM.CHANNEL.INITQ) replace

8. 创建一个发送队列(远程): ECDS_SNDR,注意TEST_RCVL,QMTEST是对方模拟器的本地接收队列,与队列管理器名。
def qr(ECDS_SNDR) rname(TEST_RCVL) rqmname(QMTEST) xmitq ( ECDS_SNDL ) defpsist(yes) replace

9. 创建一个发送通道: ECDS_CHLS
def chl(ECDS_CHLS) chltype(SDR) conname('130.1.9.126(9000)') xmitq(ECDS_SNDL) trptype(tcp) shortrty(10000) shorttmr(30) longtmr(300) longrty(999999999) batchsz(50) replace

10. 建立一个侦听器
def listener(ECDS_LISTEN) TRPTYPE(TCP) PORT(9001) CONTROL(MANUAL) BACKLOG(0)
start listener(ECDS_LISTEN)

11. 建立一个死信队列
def ql(DEADQ) defpsist(yes) maxdepth(20000) replace
alter qmgr deadq(DEADQ)

12. 建立一个错误队列
def ql(ERRMSG) defpsist(yes) maxdepth(20000) replace

13. 修改ccsid为1386,否则无法将传输特殊汉字如:弢
alter qmgr force ccsid(1386)

14. 退出mq命令窗
end
15. 重启mqm
endmqm QMECDS
strmqm QMECDS
16.



*********************
**  二、 模拟客户端配置
*********************
2. 建立队列管理器:QMtest,注意/usr/mqm/log/是日志存放路径,要求mqm用户有写权限。
#crtmqm -ld /usr/mqm/log/ -lc -lp 10 -ls 5 QMTEST

3. 启动队列管理器
#strmqm QMTEST

4. 进行队列管理器命令窗
#runmqsc QMTEST

5. 创建一个接收队列(本地):TEST_RCVL
def ql(TEST_RCVL) maxdepth(10000) defpsist(yes) replace

6. 创建一个接收通道: ECDS_CHLS      应对对方的远端通道
def chl(ECDS_CHLS) chltype(rcvr) trptype(tcp) replace

7. 创建一个发送队列(本地): TEST_SNDL
def ql(TEST_SNDL) usage(XMITQ) defpsist(YES) maxdepth(10000) trigger trigtype(FIRST) trigdata(TEST_CHLR) initq(SYSTEM.CHANNEL.INITQ) replace

8. 创建一个发送队列(远程): TEST_SNDR,注意ECDS_RCVL,QMECDS是对方模拟器的本地接收队列,与队列管理器名。
def qr(TEST_SNDR) rname(ECDS_RCVL) rqmname(QMECDS) xmitq ( TEST_SNDL ) defpsist(yes) replace

9. 创建一个发送通道:ECDS_CHLR 对应对方接收通道。
def chl(TEST_CHLR) chltype(SDR) conname('130.1.9.126(9001)') xmitq(TEST_SNDL) trptype(tcp) shortrty(10000) shorttmr(30) longtmr(300) longrty(999999999) batchsz(50) replace

10. 建立一个侦听器
def listener(TEST_LISTEN) TRPTYPE(TCP) PORT(9000) CONTROL(MANUAL) BACKLOG(0)
start listener(TEST_LISTEN)

11. 建立一个死信队列
def ql(TEST_DEADQ) defpsist(yes) maxdepth(20000) replace
alter qmgr deadq(TEST_DEADQ)

12. 建立一个错误队列
def ql(TEST_ERRMSG) defpsist(yes) maxdepth(20000) replace

13. 修改ccsid为1386,否则无法将传输特殊汉字如:弢
alter qmgr force ccsid(1386)

14. 退出mq命令窗
end

15. 重启mqm
endmqm QMTEST
strmqm QMTEST
***************************
******三、   AIX的本地服务端配置步骤执行结果
$ pwd
/usr/mqm/bin
$ crtmqm -ld /usr/mqm/log/ -lc -lp 10 -ls 5 QMECDS
WebSphere MQ queue manager created.
Creating or replacing default objects for QMECDS.
Default objects statistics : 40 created. 0 replaced. 0 failed.
Completing setup.
Setup completed.
$ strmqm QMECDS
WebSphere MQ queue manager 'QMECDS' starting.
5 log records accessed on queue manager 'QMECDS' during the log replay phase.
Log replay for queue manager 'QMECDS' complete.
Transaction manager state recovered for queue manager 'QMECDS'.
WebSphere MQ queue manager 'QMECDS' started.
$ runmqsc QMECDS
5724-H72 (C) Copyright IBM Corp. 1994, 2005.  ALL RIGHTS RESERVED.
Starting MQSC for queue manager QMECDS.


def ql(ECDS_RCVL) maxdepth(10000) defpsist(yes) replace
     1 : def ql(ECDS_RCVL) maxdepth(10000) defpsist(yes) replace
AMQ8006: WebSphere MQ queue created.
def chl(TEST_CHLR) chltype(rcvr) trptype(tcp) replace
     2 : def chl(TEST_CHLR) chltype(rcvr) trptype(tcp) replace
AMQ8014: WebSphere MQ channel created.
def ql(ECDS_SNDL) usage(XMITQ) defpsist(YES) maxdepth(10000) trigger trigtype(FIRST) trigdata(ECDS_CHLS) initq(SYSTEM.CHANNEL.INITQ) replace
     3 : def ql(ECDS_SNDL) usage(XMITQ) defpsist(YES) maxdepth(10000) trigger trigtype(FIRST) trigdata(ECDS_CHLS) initq(SYSTEM.CHANNEL.INITQ) replace
AMQ8006: WebSphere MQ queue created.
def qr(ECDS_SNDR) rname(TEST_RCVL) rqmname(QMTEST) xmitq ( ECDS_SNDL ) defpsist(yes) replace
     4 : def qr(ECDS_SNDR) rname(TEST_RCVL) rqmname(QMTEST) xmitq ( ECDS_SNDL ) defpsist(yes) replace
AMQ8006: WebSphere MQ queue created.
def chl(ECDS_CHLS) chltype(SDR) conname('130.1.9.126(9000)') xmitq(ECDS_SNDL) trptype(tcp) shortrty(10000) shorttmr(30) longtmr(300) longrty(999999999) batchsz(50) replace
     5 : def chl(ECDS_CHLS) chltype(SDR) conname('130.1.9.126(9000)') xmitq(ECDS_SNDL) trptype(tcp) shortrty(10000) shorttmr(30) longtmr(300) longrty(999999999) batchsz(50) replace
AMQ8014: WebSphere MQ channel created.
def listener(ECDS_LISTEN) TRPTYPE(TCP) PORT(9001) CONTROL(MANUAL) BACKLOG(0)
     6 : def listener(ECDS_LISTEN) TRPTYPE(TCP) PORT(9001) CONTROL(MANUAL) BACKLOG(0)
AMQ8626: WebSphere MQ listener created.
start listener(ECDS_LISTEN)
     7 : start listener(ECDS_LISTEN)
AMQ8021: Request to start WebSphere MQ Listener accepted.
def ql(DEADQ) defpsist(yes) maxdepth(20000) replace
     8 : def ql(DEADQ) defpsist(yes) maxdepth(20000) replace
AMQ8006: WebSphere MQ queue created.
alter qmgr deadq(DEADQ)
     9 : alter qmgr deadq(DEADQ)
AMQ8005: WebSphere MQ queue manager changed.
def ql(ERRMSG) defpsist(yes) maxdepth(20000) replace
    10 : def ql(ERRMSG) defpsist(yes) maxdepth(20000) replace
AMQ8006: WebSphere MQ queue created.
alter qmgr force ccsid(1386)
    11 : alter qmgr force ccsid(1386)
AMQ8005: WebSphere MQ queue manager changed.
end
    12 : end
11 MQSC commands read.
No commands have a syntax error.
All valid MQSC commands were processed.
$ endmqm QMECDS
Quiesce request accepted. The queue manager will stop when all outstanding work
is complete.
$ strmqm QMECDS
WebSphere MQ queue manager 'QMECDS' starting.
5 log records accessed on queue manager 'QMECDS' during the log replay phase.
Log replay for queue manager 'QMECDS' complete.
Transaction manager state recovered for queue manager 'QMECDS'.
WebSphere MQ queue manager 'QMECDS' started.
$
*******************************************************
****** 四、 模拟客户端配置步骤执行结果

$ crtmqm -ld /usr/mqm/log/ -lc -lp 10 -ls 5 QMTEST
WebSphere MQ queue manager created.
Creating or replacing default objects for QMTEST.
Default objects statistics : 40 created. 0 replaced. 0 failed.
Completing setup.
Setup completed.
$ strmqm QMTEST
WebSphere MQ queue manager 'QMTEST' starting.
5 log records accessed on queue manager 'QMTEST' during the log replay phase.
Log replay for queue manager 'QMTEST' complete.
Transaction manager state recovered for queue manager 'QMTEST'.
WebSphere MQ queue manager 'QMTEST' started.

$ runmqsc QMTEST
5724-H72 (C) Copyright IBM Corp. 1994, 2005.  ALL RIGHTS RESERVED.
Starting MQSC for queue manager QMTEST.


def ql(TEST_RCVL) maxdepth(10000) defpsist(yes) replace
     1 : def ql(TEST_RCVL) maxdepth(10000) defpsist(yes) replace
AMQ8006: WebSphere MQ queue created.

       :
def chl(ECDS_CHLS) chltype(rcvr) trptype(tcp) replace
     2 : def chl(ECDS_CHLS) chltype(rcvr) trptype(tcp) replace
AMQ8014: WebSphere MQ channel created.

       :
def ql(TEST_SNDL) usage(XMITQ) defpsist(YES) maxdepth(10000) trigger trigtype(FIRST) trigdata(TEST_CHLR) initq(SYSTEM.CHANNEL.INITQ) replace
     3 : def ql(TEST_SNDL) usage(XMITQ) defpsist(YES) maxdepth(10000) trigger trigtype(FIRST) trigdata(TEST_CHLR) initq(SYSTEM.CHANNEL.INITQ) replace
AMQ8006: WebSphere MQ queue created.

       :
def qr(TEST_SNDR) rname(ECDS_RCVL) rqmname(QMECDS) xmitq ( TEST_SNDL ) defpsist(yes) replace
     4 : def qr(TEST_SNDR) rname(ECDS_RCVL) rqmname(QMECDS) xmitq ( TEST_SNDL ) defpsist(yes) replace
AMQ8006: WebSphere MQ queue created.

       :
def chl(TEST_CHLR) chltype(SDR) conname('130.1.9.126(9001)') xmitq(TEST_SNDL) trptype(tcp) shortrty(10000) shorttmr(30) longtmr(300) longrty(999999999) batchsz(50) replace
     5 : def chl(TEST_CHLR) chltype(SDR) conname('130.1.9.126(9001)') xmitq(TEST_SNDL) trptype(tcp) shortrty(10000) shorttmr(30) longtmr(300) longrty(999999999) batchsz(50) replace
AMQ8014: WebSphere MQ channel created.

       :
def listener(TEST_LISTEN) TRPTYPE(TCP) PORT(9000) CONTROL(MANUAL) BACKLOG(0)
     6 : def listener(TEST_LISTEN) TRPTYPE(TCP) PORT(9000) CONTROL(MANUAL) BACKLOG(0)
AMQ8626: WebSphere MQ listener created.

       :
start listener(TEST_LISTEN)
     7 : start listener(TEST_LISTEN)
AMQ8021: Request to start WebSphere MQ Listener accepted.

       :
def ql(TEST_DEADQ) defpsist(yes) maxdepth(20000) replace
     8 : def ql(TEST_DEADQ) defpsist(yes) maxdepth(20000) replace
AMQ8006: WebSphere MQ queue created.

       :
alter qmgr deadq(TEST_DEADQ)
     9 : alter qmgr deadq(TEST_DEADQ)
AMQ8005: WebSphere MQ queue manager changed.

       :
def ql(TEST_ERRMSG) defpsist(yes) maxdepth(20000) replace
    10 : def ql(TEST_ERRMSG) defpsist(yes) maxdepth(20000) replace
AMQ8006: WebSphere MQ queue created.

       :
alter qmgr force ccsid(1386)
    11 : alter qmgr force ccsid(1386)
AMQ8005: WebSphere MQ queue manager changed.

       :
end
    12 : end
11 MQSC commands read.
No commands have a syntax error.
All valid MQSC commands were processed

$ endmqm QMTEST
Quiesce request accepted. The queue manager will stop when all outstanding work
is complete.

$ strmqm QMTEST
WebSphere MQ queue manager 'QMTEST' starting.
5 log records accessed on queue manager 'QMTEST' during the log replay phase.
Log replay for queue manager 'QMTEST' complete.
Transaction manager state recovered for queue manager 'QMTEST'.
WebSphere MQ queue manager 'QMTEST' started.
$
*******************************************************
**************************************
------ 五、测试    2010年09月08   测试完成 ------
A、aix服务器端
$ ./amqsput ECDS_SNDR QMECDS
Sample AMQSPUT0 start
target queue is ECDS_SNDR
qweasd123456
86970

Sample AMQSPUT0 end

$ ./amqsget ECDS_RCVL QMECDS
Sample AMQSGET0 start
message <123456 >
message

no more messages
Sample AMQSGET0 end

B、模拟客户端
$ ./amqsget TEST_RCVL QMTEST
Sample AMQSGET0 start
message
message <86970>

no more messages
Sample AMQSGET0 end

$ ./amqsput TEST_SNDR QMTEST
Sample AMQSPUT0 start
target queue is TEST_SNDR
123456
OK

Sample AMQSPUT0 end
$



**************************************

**** 六、其他相关命令


    删除队列管理器

    dltmqm QmgrName

    启动队列管理器

    strmqm QmgrName

    如果是启动默认的队列管理器,可以不带其名字

    停止队列管理器

    endmqm QmgrName 受控停止

    endmqm – i QmgrName 立即停止

    endmqm – p QmgrName 强制停止

    显示队列管理器

    dspmq –m QmgrName

*******************************************************
参与1

0同行回答

“答”则兼济天下,请您为题主分忧!

提问者

hotmail
软件开发工程师hotmail
擅长领域: 数据库服务器云计算

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2011-11-03
  • 关注会员:1 人
  • 问题浏览:6706
  • X社区推广