MQ消息头中的用户标识的缺省值

时间:2014-09-19 13:41:43

标签: ibm-mq identity userid

在我的应用程序中,我将消息发送到Websphere MQ队列。在应用程序中,用户可以灵活地在消息中设置用户ID。但是我的问题是,因为参数在我的应用程序中是可配置的,如果用户没有设置它,那么将从哪里获取值?

我已经浏览了以下链接,但是如果未在应用程序级别设置,则无法确定将为用户ID设置的值。

  1. http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_7.0.1/com.ibm.mq.csqzaw.doc/jm41030_.htm

  2. How to set MQMD ApplicationID field via JMS API?

  3. 感谢任何帮助。

1 个答案:

答案 0 :(得分:9)

队列管理器将MQMD.UserIdentifier字段设置为与放置消息的连接(hConn)关联的用户ID。您可以通过查看DISPLAY CONN或MQ Explorer中的Applications ...显示来查看此用户ID。

如果您的应用程序使用本地绑定运行,也就是说,它与队列管理器位于同一台计算机上,并且选择来使用套接字,那么队列管理器将使用该用户ID discover是运行应用程序进程的用户标识。

如果您的应用程序使用客户端绑定运行,也就是说,它正在使用队列管理器的网络连接,那么队列管理器将使用的用户ID是分配给通道连接的MCAUSER的用户ID,可以是由CHLAUTH规则或安全出口设置,或从客户端等流出。

如果您的应用程序要在消息的MQMD中设置用户ID,那么应用程序必须告诉队列管理器它将执行此操作,或者MQMD.UserIdentifier字段中的任何内容将覆盖上述内容。要告诉队列管理器它要执行此操作,应用程序在打开队列MQOO_SET_IDENTITY_CONTEXT时以及何时放入消息MQPMO_SET_IDENTITY_CONTEXT时必须使用其他选项。开放选项还要求您在使用+setid

时允许授权setmqaut

进一步阅读