gpt4 book ai didi

java - IBM JMS MQ 在 MQM header 中添加用户 ID

转载 作者:行者123 更新时间:2023-11-28 22:25:36 34 4
gpt4 key购买 nike

如何在 IBM JMS MQ 的 MQM header 中设置用户 ID,默认为“mqm”我需要在发送消息时将其设置为不同的用户 ID。我正在使用 com.ibm.mqjms jar,应用程序部署在 Tomcat 上。

最佳答案

在您的应用程序中,您需要访问 JMS 规范之外的一些 IBM MQ 功能。

IBM MQ v8 知识中心在页面“Reading and writing the message descriptor from an IBM MQ classes for JMS application”中记录了如何使用 IBM MQ Classes for JMS 设置 MQMD 属性

You must set the Destination object property WMQ_MQMD_WRITE_ENABLED to true for the setting of MQMD properties to have any effect. You can then use the property setting methods of the message (for example setStringProperty) to assign values to the MQMD fields. All MQMD fields are exposed except StrucId and Version; BackoutCount can be read but not written to.

This example results in a message being put to a queue or topic with MQMD.UserIdentifier set to "JoeBloggs". // Create a ConnectionFactory, connection, session, producer, message // ...

// Create a destination
// ...

// Enable MQMD write
dest.setBooleanProperty(WMQConstants.WMQ_MQMD_WRITE_ENABLED, true);

// Optionally, set a message context if applicable for this MD field
dest.setIntProperty(WMQConstants.WMQ_MQMD_MESSAGE_CONTEXT,
WMQConstants.WMQ_MDCTX_SET_IDENTITY_CONTEXT);

// On the message, set property to provide custom UserId
msg.setStringProperty("JMS_IBM_MQMD_UserIdentifier", "JoeBloggs");

// Send the message
// ...

为了使用 WMQ_MDCTX_SET_IDENTITY_CONTEXT,您需要向连接到 IBM MQ 队列管理器的用户授予 OAM 权限 +setid qmgr 对象和 queue 消息将被PUT 添加到您授予的任何正常权限(例如:+connect +dspqmgr 上或 +putqueue 上)。

关于java - IBM JMS MQ 在 MQM header 中添加用户 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46759252/

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