4

ファイル・システム内のファイルを WebSphere MQ キューにロードしたいと考えています。いくつかのサポート パックがあります - Q ProgramMO03: WebSphere MQ Queue Load / Unload Utility

近いですが、ファイルを特定の形式にする必要があります。XML ファイルのメッセージがあり、それらをキューにロードする簡単な方法が必要です。ファイルの数は数百に及ぶため、これを実現するためのアプリケーションを作成する代わりに、このジョブを実行するためのユーティリティを探しています。

これを実現するための汎用アプリケーションが見つかりませんでした。ここでいくつかの助けを探しています

ありがとう

4

2 に答える 2

7

Qプログラムに特定のファイル形式が必要だと思うのはなぜですか?ファイルによるとREADME.TXT、次のオプションが利用可能です。

-f<filename>
          Input file.
          Each line of the file will be put to output queue as a different
          message.
          See "Z/OS FILE NAME FORMAT EXAMPLES" for specific z/OS details.

-F[+]<filename>
          Input/output file.
          Entire file will be put to the output queue as a single message.
          If '+' is specified the dataset attributes will be retained if
          the output dataset exists - z/OS only.
          See "Z/OS FILE NAME FORMAT EXAMPLES" for specific z/OS details.

したがって、-F(なしで+)指定すると、XMLファイルのすべての行が単一のメッセージにロードされます。-aパラメータを使用してメッセージオプションを指定することもできます。

-a<Opts>  Sets message attributes when put to the output queue

          n   - forces non-persistence
          p   - forces persistence
          q   - uses queue default persistence
          d   - put a datagram message type
          r   - put a reply message type
          R   - put a request message type
          t   - put a report message type
          x   - don't treat lines starting with '#' as special

Qプログラムはデフォルトでファイルを解釈しますが、上記のオプションは、通常はコマンドとして解釈-axする行を無視するように指示していることに注意してください。#これにより、コメント付きのXMLファイルやソースコード、さらにはPDFやJPGなどのバイナリファイルを読み込むことができます。

Qには、作業できない特定の制限がありましたか?もしそうなら、それが何であるかを知ることは役に立ちますので、私たちはあなたの目的によりよく合う何かをあなたに指摘するかもしれません。

アップデート

Spyroのコメントに応えて、Qは1000文字に制限されていません。これは、QディストリビューションのREADMEファイルが単一のメッセージに書き込まれ、読み戻される例です。

D:\WMQ\MA01>q -m JMSDEMO -OSYSTEM.DEFAULT.LOCAL.QUEUE -FREADME
MQSeries Q Program by Paul Clarke [ V6.0.0 Build:May  1 2012 ]
Connecting ...connected to 'JMSDEMO'.

D:\WMQ\MA01>echo dis q(SYSTEM.DEFAULT.LOCAL.QUEUE) curdepth | runmqsc JMSDEMO
5724-H72 (C) Copyright IBM Corp. 1994, 2011.  ALL RIGHTS RESERVED.
Starting MQSC for queue manager JMSDEMO.


     1 : dis q(SYSTEM.DEFAULT.LOCAL.QUEUE) curdepth
AMQ8409: Display Queue details.
   QUEUE(SYSTEM.DEFAULT.LOCAL.QUEUE)       TYPE(QLOCAL)
   CURDEPTH(1)
One MQSC command read.
No commands have a syntax error.
All valid MQSC commands were processed.

D:\WMQ\MA01>q -m JMSDEMO -dl -iSYSTEM.DEFAULT.LOCAL.QUEUE
MQSeries Q Program by Paul Clarke [ V6.0.0 Build:May  1 2012 ]
Connecting ...connected to 'JMSDEMO'.
MQGET 24309 bytes
============================================================================
Message Descriptor (MQMD)
Report       :00000000
Message Type :8 (Datagram)
Format       :'MQSTR   '
Priority     :0
Persistence  :0 (Not Persistent)
Message Id   :A M Q   J M S D E M O           . . . R   . * .
              414D51204A4D5344454D4F20202020201DDEA052200B2A02
              'AMQ JMSDEMO     ...R .*.'
ReplyToQ     :'                                                '
ReplyToQMgr  :'JMSDEMO                                         '
 ----------------------------------------------------------------------
|                                                                      |
|                                                                      |
|  DESCRIPTIVE NAME WebSphere MQ Q Program                             |
|                                                                      |

------- 8><-------------------------------------------------------------
REMAINDER OF MSG OUTPUT OMITTED FOR BREVITY. PRINT-OUT RESUMES...
------- 8><-------------------------------------------------------------

No more messages.

D:\WMQ\MA01>

メッセージが印刷されたヘッダー行に注意してください。この-dlオプションは、メッセージの長さ(この場合は24309バイト)を出力するようにQに指示します。このテストを実行するために現在のバージョンをダウンロードしたので、これは2013年12月7日時点で正確です。

于 2012-10-16T13:11:25.953 に答える
1

ファイルをキューにロードすることを探している場合..RFHUtils/wまたはアプリケーションでの作業は簡単です。

RFHUtilでは、ファイルをMQに簡単にロードして、キューをクリアしたり、電気ショック療法を行ったりすることができます。

さらに多くのオプションが提供されています。

于 2012-10-17T05:30:49.670 に答える