我想将文件系统中的文件加载到WebSphere MQ Queue.有几个支持pac - Q Program 和 MO03:WebSphere MQ Queue Load/Unload Utility
接近但他们要求文件采用特定格式.我有消息是XML文件,并希望快速将它们加载到队列中.文件数量达到几百个,因此寻找一个实用程序来完成这项工作,而不必编写应用程序来实现这一目标.
我无法找到一些通用的应用程序来实现这一目标.所以在这里寻求一些帮助
谢谢
为什么你认为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.
Run Code Online (Sandbox Code Playgroud)
因此,如果指定-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
Run Code Online (Sandbox Code Playgroud)
虽然Q程序默认会解释文件,但请注意-ax上面的选项会告诉它忽略#通常将其解释为命令的行.这允许您使用注释甚至二进制文件(如PDF或JPG)加载XML文件或源代码.
Q中是否存在您无法使用的特定限制?如果是这样,知道那是什么会有所帮助,所以我们可能会指出一些更符合您目的的东西.
UPDATE
应对斯派罗的意见,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>
Run Code Online (Sandbox Code Playgroud)
请注意打印消息的标题行.该-dl选项告诉Q打印消息长度,在本例中为24309字节.我下载了当前版本以执行此测试,因此截至2013年12月7日这是准确的.
| 归档时间: |
|
| 查看次数: |
17584 次 |
| 最近记录: |