PutApplNameMQCHAR28 )
这是放置消息的应用程序的名称,并且是消息的 源上下文 的一部分。 平台之间的内容不同,发行版之间的内容也可能不同。
有关消息上下文的更多信息,请参阅 MQMD-消息描述符 和 消息上下文。
从 IBM® MQ 9.1.2 开始,可以使用其他编程语言指定应用程序名称。 请参阅 以受支持的编程语言指定应用程序名称 以获取更多信息。
PutApplName 的格式取决于 PutApplType 的值,并且可以从一个发行版更改为另一个发行版。 更改很少,但如果环境发生更改,那么会发生更改。
当队列管理器设置此字段 (即,对于除 MQPMO_SET_ALL_CONTEXT 以外的所有选项) 时,它会将此字段设置为由环境确定的值:
在 z/OS®上,队列管理器使用:- 对于 z/OS 批处理,来自 JES JOB 卡的 8 字符作业名
- 对于 TSO ,这是 7 字符的 TSO 用户标识
- 对于 CICS®, 8 字符 applid ,后跟 4 字符 tranid
- 对于 IMS,这是 8-character IMS 系统标识,后跟 8-character PSB 名称
- 对于 XCF ,这是 8 字符的 XCF 组名,后跟 16 字符的 XCF 成员名
- 对于队列管理器生成的消息,队列管理器名称的前 28 个字符
- 对于没有 CICS的分布式排队,通道启动程序的 8 字符作业名后跟放入死信队列的模块的 8 字符名称,后跟 8 字符任务标识。
在 Windows 系统上,队列管理器使用以下名称:- 对于 CICS 应用程序, CICS 事务名称
- 对于非CICS 应用程序,可执行文件的标准名称的最右边 28 个字符
在 IBM i上,队列管理器使用标准作业名。![[AIX]](ngaix.gif)
在 AIX® and Linux®上,队列管理器使用以下名称:- 对于 CICS 应用程序, CICS 事务名称
- 对于非CICS 应用程序, MQ 要求操作系统提供进程的名称。 这将作为程序文件名返回,但没有完整路径。 然后, MQ 将此进程名称放在 MQMD.PutApplName 字段如下所示:
AIX- 如果名称小于或等于 28 个字节,那么将插入名称,并在右边填充空格。
Linux- 如果名称小于或等于 15 个字节,那么将插入名称,并在右边填充空格。
/opt/mqm/samp/bin/amqsput QNAME QMNAME, PutApplName 则为 “amqsput ”。 此 MQCHAR28 字段中有 21 个空格字符的填充。 请注意, PutApplName不包括包含/opt/mqm/samp/bin的完整路径。
对于 MQPUT 和 MQPUT1 调用,如果在 PutMsgOpts 参数中指定了 MQPMO_SET_ALL_CONTEXT ,那么这是输入/输出字段。 将废弃字段中空字符后面的任何信息。 队列管理器将空字符和任何后续字符转换为空白。 如果未指定 MQPMO_SET_ALL_CONTEXT ,那么此字段将在输入时被忽略,并且是仅输出字段。