# crtmqm daisy.queue.manager
WebSphere MQ queue manager created.
Creating or replacing default objects for daisy.queue.manager.
Default objects statistics : 31 created. 0 replaced. 0 failed.
Completing setup.
Setup completed.
この例では daisy.queue.manager という名前のキューマネージャを作る。 コマンド実行後、ディレクトリ /var/mqm/qmgrs 以下に指定した名前のキューマネージャディレクトリが作られる。
オプション -q を指定するとデフォルトキューマネージャを作る。
# crtmqm -q daisy.queue.manager
# dltmqm daisy.queue.manager
WebSphere MQ queue manager 'daisy.queue.manager' deleted.
# strmqm daisy.queue.manager
WebSphere MQ queue manager 'daisy.queue.manager' started.
キューマネージャ名を省略した場合はデフォルトキューマネージャを指定したことになる。 再起動も同じコマンドをタイプする。
# endmqm daisy.queue.manager
Quiesce request accepted. The queue manager will stop when all outstanding work is complete.
止まったかどうかの確認には ps -ef | grep mq を使うと良い。
# dspmq
QMNAME(daisy.queue.manager) STATUS(Running)
# runmqsc daisy.queue.manager
5724-B41 (C) Copyright IBM Corp. 1994, 2002. ALL RIGHTS RESERVED.
Starting MQSC for queue manager daisy.queue.manager.
キューマネージャ名を省略した場合はデフォルトキューマネージャを指定したことになる。
# MQSC
end
2 : end
One MQSC command read.
No commands have a syntax error.
All valid MQSC commands were processed.
# MQSC
display qmgr
1 : display qmgr
AMQ8408: Display Queue Manager details.
DESCR( ) DEADQ( )
DEFXMITQ( ) CHADEXIT( )
CLWLEXIT( ) CLWLDATA( )
REPOS( ) REPOSNL( )
SSLKEYR(/var/mqm/qmgrs/daisy!queue!manager/ssl/key)
SSLCRLNL( ) SSLCRYP( )
COMMANDQ(SYSTEM.ADMIN.COMMAND.QUEUE) QMNAME(daisy.queue.manager)
CRDATE(2003-10-11) CRTIME(22.24.47)
ALTDATE(2003-10-11) ALTTIME(22.24.47)
QMID(daisy.queue.manager_2003-10-11_22.24.47)
TRIGINT(999999999) MAXHANDS(256)
MAXUMSGS(10000) AUTHOREV(DISABLED)
INHIBTEV(DISABLED) LOCALEV(DISABLED)
REMOTEEV(DISABLED) PERFMEV(DISABLED)
STRSTPEV(ENABLED) CHAD(DISABLED)
CHADEV(DISABLED) CLWLLEN(100)
MAXMSGL(4194304) CCSID(5050)
MAXPRTY(9) CMDLEVEL(530)
PLATFORM(UNIX) SYNCPT
DISTL(YES)
# MQSC
define qlocal (flower.local.queue)
4 : define qlocal (flower.local.queue)
AMQ8006: WebSphere MQ queue created.
この例では flower.local.queue という名前のローカルキューを作る
# MQSC
display queue (flower.local.queue)
8 : display queue (flower.local.queue)
AMQ8409: Display Queue details.
DESCR(WebSphere MQ Default Local Queue)
PROCESS( ) BOQNAME( )
INITQ( ) TRIGDATA( )
CLUSTER( ) CLUSNL( )
QUEUE(FLOWER.LOCAL.QUEUE) CRDATE(2003-10-11)
CRTIME(22.37.13) ALTDATE(2003-10-11)
ALTTIME(22.37.13) GET(ENABLED)
PUT(ENABLED) DEFPRTY(0)
DEFPSIST(NO) MAXDEPTH(5000)
MAXMSGL(4194304) BOTHRESH(0)
SHARE DEFSOPT(SHARED)
HARDENBO MSGDLVSQ(PRIORITY)
RETINTVL(999999999) USAGE(NORMAL)
NOTRIGGER TRIGTYPE(FIRST)
TRIGDPTH(1) TRIGMPRI(0)
QDEPTHHI(80) QDEPTHLO(20)
QDPMAXEV(ENABLED) QDPHIEV(DISABLED)
QDPLOEV(DISABLED) QSVCINT(999999999)
QSVCIEV(NONE) DISTL(NO)
DEFTYPE(PREDEFINED) TYPE(QLOCAL)
SCOPE(QMGR) DEFBIND(OPEN)
IPPROCS(0) OPPROCS(0)
CURDEPTH(0)
# MQSC
delete qlocal (flower.local.queue) nopurge
1 : delete qlocal (flower.local.queue) nopurge
AMQ8007: WebSphere MQ queue deleted.
コミットされていないメッセージがある場合は削除されない。 nopurge のかわりに purge を指定すると強制的に削除する。
# MQSC
define channel (channel1) chltype(svrconn) trptype(tcp) mcauser('mqm')
1 : define channel (channel1) chltype(svrconn) trptype(tcp) mcauser('mqm')
AMQ8014: WebSphere MQ channel created.
# runmqlsr -m daisy.queue.manager -t tcp &
[1] 4172
5724-B41 (C) Copyright IBM Corp. 1994, 2002. ALL RIGHTS RESERVED.
オプション -p でポートを指定できる。デフォルトは1414
#endmqlsr -m daisy.queue.manager
A WebSphere MQ listener will end shortly.
[1]+ Exit 4 runmqlsr -t tcp
MQ のクライアント側は環境変数 MQSERVER からサーバの場所を知る。
export MQSERVER=CHANNEL1/TCP/'localhost'
ポートを指定する場合は 'localhost(1414)' とする。デフォルトは1414
この環境変数が指定されていないとキューマネージャに接続しようとしても MQRC_Q_MGR_NAME_ERROR (2058) がでる。
以下の例では daisy.queue.manager に対する mqm グループの権限を表示する。
# dspmqaut -m daisy.queue.manager -t qmgr -g mqm
Entity mqm has the following authorizations for object daisy.queue.manager:
inq
set
connect
altusr
crt
dlt
chg
dsp
setid
setall
以下の例では daisy.queue.manager の FLOWER.LOCAL.QUEUE に対する mqm グループの権限を表示する。
# dspmqaut -m daisy.queue.manager -n FLOWER.LOCAL.QUEUE -t queue -g mqm
Entity mqm has the following authorizations for object FLOWER.LOCAL.QUEUE:
get
browse
put
inq
set
crt
dlt
chg
dsp
passid
passall
setid
setall
clr
# setmqaut -m daisy.queue.manager -t qmgr -p smith +all
The setmqaut command completed successfully.
ユーザ smith に対して daisy.queue.manager へのすべての権限を与える。
# setmqaut -m daisy.queue.manager -n FLOWER.LOCAL.QUEUE -t queue -p smith +all
The setmqaut command completed successfully.
ユーザ smith に対して daisy.queue.manager の FLOWER.LOCAL.QUEUE へのすべての権限を与える。
現在TclとMQの直接のバインディングは提供されていません。 しかしWindows環境であればCOMを経由することによってTclからMQを使うことができます。 TclでCOMを使うにはtCOMを使用します。
# mqput.tcl
package require tcom
set qmname [lindex $argv 0]
set toqname [lindex $argv 1]
set mq [::tcom::ref createobject "MQAX200.MQSession"]
set qm [$mq AccessQueueManager $qmname]
set msg [$mq AccessMessage]
$msg writeString "howdy"
set toq [$qm AccessQueue $toqname 17]
$toq Put $msg