【发布时间】:2018-02-24 20:16:21
【问题描述】:
我们有一个用例,即放置一组具有相同 groupId 但 MessageSequenceNumber 不同的消息。这用于对消息进行分组以进行逻辑排序,以便在接收方,接收方可以根据组顺序对所有消息进行分组。我关注的是 IBM MQ v7.5 知识中心页面“Message groups”。
我编写了一个代码来放置消息:-
public boolean writeMessage(String[] messages, String queueName) {
Session session = getQueueConnection().createSession(true,
Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue(queueName);
messageProducer = session.createProducer(destination);
for (int i = 0; i < messages.length; i++) {
TextMessage message = session.createTextMessage(messages[i]);
messageProducer.send(message);
}
// Commit the send (Actually put messages to Queue)
session.commit();
return true;
}
现在,我想为数组内的所有消息添加一个唯一的 groupID 并添加一个序列号(msgSeqNum) (1,2,3..) 。我怎样才能通过 JMS API 做到这一点?我正在 IBM IIB v8 知识中心页面“Sending messages in a WebSphere MQ message group”上寻找代码的 JMS 版本。
【问题讨论】:
-
你有什么问题?
-
我已经编辑了这个问题。你现在明白了吗?
-
你见过这个:stackoverflow.com/questions/7915500/… 吗?我认为这意味着您正在寻求利用依赖于 JMS 的 WebSphere MQ 实现的“专有功能”,而不是标准 JMS。如果您正在使用 JMS 的 WebSphere MQ 实现,那么您应该能够做您想做的事情。如果没有,您可能必须为您需要的功能推出自己的解决方案。
-
@geneSummons 您指的是基于 groupId 过滤的吸气剂程序。我指的是推杆程序来实现它。