gpt4 book ai didi

ibm-mq - 将文件加载到 MQ 队列的实用程序

转载 作者:行者123 更新时间:2023-12-04 23:59:08 26 4
gpt4 key购买 nike

我想将文件系统中的文件加载到 WebSphere MQ 队列。有几个支持 pacs - Q ProgramMO03: 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.

因此,如果您指定 -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上面的选项告诉它忽略带有 # 的行它通常将其解释为命令。这允许您加载带有注释甚至二进制文件(如 PDF 或 JPG)的 XML 文件或源代码。

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选项告诉 Q 打印消息长度,在本例中为 24309 字节。我下载了当前版本来执行此测试,因此截至 2013 年 12 月 7 日这是准确的。

关于ibm-mq - 将文件加载到 MQ 队列的实用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12907387/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com