我正在使用IBM.XMS .NET库将消息写入消息队列。我需要在组中设置"最后一条消息"标志为真。
textMessage.SetBooleanProperty("JMS_IBM_LAST_MSG_IN_GROUP", true);
我在这行代码中收到以下错误消息:"属性名称JMS_IBM_LAST_MSG_IN_GROUP是保留的,无法设置。 提供的属性名称以JMS前缀开头,但不是受支持的可设置属性之一。 检查属性名称并更正错误。" 我有可能从代码中更改此标志吗?感谢。
答案 0 :(得分:1)
您正在使用名称以" JMS"开头的属性。根据JMS规范的第3.5.10节" JMS为提供者特定属性保留'JMS_'属性名称前缀。每个提供商都定义了自己的价值。这是JMS提供程序用于使其特殊的每个消息服务可用于JMS客户端的机制。
我建议您使用XMS定义的名称或您的属性,其名称不以" JMS"开头。下面是一个工作片段。
var msg = session.CreateTextMessage();
msg.SetStringProperty(XMSC.JMSX_GROUPID, "ABCDEFGKILDD");
msg.SetBooleanProperty(XMSC.JMS_IBM_LAST_MSG_IN_GROUP, true);
msg.Text = "Message in group";
prod.Send(msg);