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

mus*_*ibs 1 identity userid ibm-mq

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

我已经浏览了下面的链接,但是如果未在应用程序级别设置,则不清楚将为用户标识设置什么值.

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

  2. 如何通过JMS API设置MQMD ApplicationID字段?

任何帮助表示赞赏.

Mor*_*son 9

所述MQMD.UserIdentifier字段由队列管理器与把消息的连接(hConn)相关联的用户ID设定.您可以通过查看MQ Explorer中的DISPLAY CONN或Applications ...显示来查看此用户ID.

如果您的应用程序使用本地绑定运行,也就是说,它与队列管理器在同一台机器上,并且它选择使用套接字,那么队列管理器将发现的用户标识是应用程序进程的用户标识.跑着.

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

如果您的应用程序要在消息的MQMD中设置用户ID,那么应用程序必须告诉队列管理器它将执行此操作,或者MQMD.UserIdentifier字段中的任何内容都将覆盖上面的内容.要告诉队列管理器它想要这样做,应用程序在打开队列时必须使用一个附加选项,MQOO_SET_IDENTITY_CONTEXT并在它放入消息时,MQPMO_SET_IDENTITY_CONTEXT.open选项还要求您+setid在使用时允许授权setmqaut

进一步阅读: