2 つのシステム間での dmpmqmsg ユーティリティーの使用
dmpmqmsg ユーティリティー (以前の qload) は、 IBM® MQ 8.0から製品に組み込まれました。 このユーティリティーは以前、サポートパック MO03 から入手することができました。
概要
- このファイルは、ユーティリティーが理解できる特定の形式になっています。 しかし、このファイルは人間も読める形式になっているため、再ロードする前にエディターで更新できます。 ファイルを編集しない場合は、その形式を変更してはなりません。
- IBM MQ 9.1では、 dmpmqmsg ユーティリティーは、 Linux® および Windows用のランタイム・ファイル・セットとともに出荷されるため、 IBM MQ サーバーとクライアントの両方で使用できます。 IBM MQ 9.1 より前のバージョンでは、ユーティリティーはサーバー・パッケージにのみ付属していました。
- キューにあるメッセージをファイルに保存する。 これはアーカイブなどの目的で行われ、後で元のキューに再ロードされます。
- 以前にファイルに保存されたメッセージをキューに再ロードする。
- キューから古いメッセージを削除する。
- 保管場所からテスト・メッセージを「適用」する (必要に応じて、メッセージ間の正確な時間も保持する)。
コード・ページ情報には、-c の代わりに -P が使用されるようになりました。
コマンドおよび使用可能なパラメーターについて詳しくは、 dmpmqmsg を参照してください。
Linuxで Windows マシンを使用して dmpmqmsg ユーティリティーを使用する例
同じキュー・マネージャー内の別のキュー ( Q2) に移動したいメッセージがキュー (Q1) 上にある Linux マシン上にキュー・マネージャーがある。 Windows マシンから dmpmqmsg ユーティリティーを開始する必要がある。
キュー (Q1) には、サンプル・アプリケーション amqsput (ローカル・キュー・マネージャー) または amqsputc (リモート・キュー・マネージャー) を使って追加した 4 つのメッセージがあります。
display ql(Q1) CURDEPTH
2 : display ql(Q1) CURDEPTH
AMQ8409: Display Queue details.
QUEUE(Q1)
TYPE(QLOCAL)
CURDEPTH(4)
set MQSERVER=SYSTEM.DEF.SVRCONN/TCP/veracruz.x.com(1414)
veracruz は、マシンの名前です。dmpmqmsg ユーティリティーを実行してキュー Q1から読み取り、出力を c:\temp\mqqload.txtに保管します。
-c
を使って行います。
dmpmqmsg -m QM_VER -i Q1 -f c:\temp\mqqload.txt -c
Read - Files: 0 Messages: 4 Bytes: 22
Written - Files: 1 Messages: 4 Bytes: 22
出力ファイル c:\temp\mqqload.txt には、 dmpmqmsg ユーティリティーが認識するフォーマットを使用したテキストが含まれています。
Windows マシンで、 dmpmqmsg コマンド ( -i オプションの代わりに -o オプションを使用) を発行して、 Windows マシン上のファイルから Linux マシン上のキュー (Q2) をロードします。
dmpmqmsg -m QM_VER -o Q2 -f c:\temp\mqqload.txt -c
Read - Files: 1 Messages: 4 Bytes: 22
Written - Files: 0 Messages: 4 Bytes: 22
Linux マシンでは、キュー内にファイルから復元されたメッセージが 4 つあることに注意してください。
display ql(Q2) CURDEPTH
6 : display ql(Q2) CURDEPTH
AMQ8409: Display Queue details.
QUEUE(Q2)
TYPE(QLOCAL)
CURDEPTH(4)
Linux マシンで、以下のようにします。
clear qlocal(Q1)
4 : clear qlocal(Q1)
AMQ8022: IBM MQ queue cleared.
display ql(Q1) CURDEPTH
5 : display ql(Q1) CURDEPTH
AMQ8409: Display Queue details.
QUEUE(Q1)
TYPE(QLOCAL)
CURDEPTH(0)
コマンドとそのパラメーターの説明については、 dmpmqmsg を参照してください。