建立測試佇列,傳送接受測試訊息

studywell發表於2017-05-09
建立測試佇列,傳送接受測試訊息;

1、建立佇列管理器
windows下:命令列視窗鍵入:
linux 下,需要切換mqm使用者下;su - mqm
如果把整個MQ理解成一個資料庫例項,QM_TEST相當於就是db instance中的schema(或user),那麼"佇列"就相當於db中的Table了,而佇列中的每條"訊息",就相當於Table中的每條記錄。

建立一個佇列管理器QM_TEST。
crtmqm QM_TEST

2、啟動佇列管理器
命令列建立的佇列管理器預設是不活動狀態的;
strmqm QM_TEST

3、連線佇列管理器
runmqsc QM_TEST
將進入MQ的互動命令模式

4、建立一個本地佇列Q1
define qlocal(Q1)
最後鍵入end,退出MQ的互動命令模式。

windows下此時開啟 "開始選單->程式->IBM WebSphere MQ->WebSphere MQ Explorer (Installation1)"也能同步在圖形介面下,看到這個佇列。

5、傳送測試訊息
命令列下,輸入
amqsput Q1 QM_TEST
這裡系統將處於等待使用者輸入的狀態,隨便輸入一些訊息,然後連敲二次回車,完成訊息傳送

6、接收測試訊息
命令列下輸入
amqsget Q1 QM_TEST
把剛才的put換成了get,將從佇列管理器QM_TEST的佇列Q1中,把訊息取出來


7、停止佇列管理器
mqm@ora10g:~> endmqm QM_TEST

8、檢視佇列管理器狀態
mqm@ora10g:~> dspmq
QMNAME(QM_TEST)                                           STATUS(Ended normally)

9、停止佇列
mqm@ora10g:~> endmqm -i QM_TEST
AMQ8146: WebSphere MQ queue manager not available.

10、刪除佇列管理
mqm@ora10g:~> dltmqm QM_TEST



具體操作過程如下:

1、建立佇列管理器
windows下:命令列視窗鍵入:
linux 下,需要切換mqm使用者下操作;su - mqm


mqm@ora10g:~> crtmqm QM_TEST
WebSphere MQ queue manager created.
Directory '/var/mqm/qmgrs/QM_TEST' created.
The queue manager is associated with installation 'Installation1'.
Creating or replacing default objects for queue manager 'QM_TEST'.
Default objects statistics : 74 created. 0 replaced. 0 failed.
Completing setup.
Setup completed.

2、啟動佇列管理器QM_TEST
命令列建立的佇列管理器預設是不活動狀態的;
mqm@ora10g:~> strmqm QM_TEST
WebSphere MQ queue manager 'QM_TEST' starting.
The queue manager is associated with installation 'Installation1'.
5 log records accessed on queue manager 'QM_TEST' during the log replay phase.
Log replay for queue manager 'QM_TEST' complete.
Transaction manager state recovered for queue manager 'QM_TEST'.
WebSphere MQ queue manager 'QM_TEST' started using V7.5.0.1.

3、連線佇列管理器QM_TEST,建立佇列Q1
mqm@ora10g:~> runmqsc QM_TEST
5724-H72 (C) Copyright IBM Corp. 1994, 2011.  ALL RIGHTS RESERVED.
Starting MQSC for queue manager QM_TEST.
define qlocal(Q1)
     1 : define qlocal(Q1)
AMQ8006: WebSphere MQ queue created.
end
     2 : end
One MQSC command read.
No commands have a syntax error.
All valid MQSC commands were processed.


手動傳送訊息
mqm@ora10g:~> /opt/mqm/samp/bin/amqspu
amqspub   amqspubc  amqsput   amqsputc  
mqm@ora10g:~> /opt/mqm/samp/bin/amqsput Q1 QM_TEST
Sample AMQSPUT0 start
target queue is Q1
MY FIRST queue message;

Sample AMQSPUT0 end


接受訊息
mqm@ora10g:~> /opt/mqm/samp/bin/amqsg
amqsgam   amqsgbr   amqsgbrc  amqsget   amqsgetc  amqsghac  amqsgr2   amqsgrm   amqsgrmc  
mqm@ora10g:~> /opt/mqm/samp/bin/amqsget Q1 QM_TEST
Sample AMQSGET0 start
message <MY FIRST queue message;>
no more messages
Sample AMQSGET0 end

停止佇列管理器
mqm@ora10g:~> endmqm QM_TEST
Quiesce request accepted. The queue manager will stop when all outstanding work
is complete.

檢視佇列管理器狀態
mqm@ora10g:~> dspmq
QMNAME(QM_TEST)                                           STATUS(Ended normally)

停止佇列
mqm@ora10g:~> endmqm -i QM_TEST
AMQ8146: WebSphere MQ queue manager not available.

啟動佇列管理器
mqm@ora10g:~> strmqm QM_TEST
WebSphere MQ queue manager 'QM_TEST' starting.
The queue manager is associated with installation 'Installation1'.
5 log records accessed on queue manager 'QM_TEST' during the log replay phase.
Log replay for queue manager 'QM_TEST' complete.
Transaction manager state recovered for queue manager 'QM_TEST'.
WebSphere MQ queue manager 'QM_TEST' started using V7.5.0.1.

mqm@ora10g:~> dspmq
QMNAME(QM_TEST)                                           STATUS(Running)

刪除佇列管理
mqm@ora10g:~> dltmqm QM_TEST
WebSphere MQ queue manager running.
mqm@ora10g:~> endmqm -i QM_TEST
WebSphere MQ queue manager 'QM_TEST' ending.
WebSphere MQ queue manager 'QM_TEST' ended.
mqm@ora10g:~> dltmqm QM_TEST
WebSphere MQ queue manager 'QM_TEST' deleted.
mqm@ora10g:~> strmqm QM_TEST
AMQ8118: WebSphere MQ queue manager does not exist.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29519108/viewspace-2138764/,如需轉載,請註明出處,否則將追究法律責任。

相關文章