Java 使用多个使用者时同步接收消息
我是活动MQ的新手。我的队列只有一个消费者。我在同步阅读信息,每条信息的最后一条都是唯一的字符串。一些消息很大,所以消费者接收这些消息分为两部分,通过唯一的字符串,消费者生成完整的消息Java 使用多个使用者时同步接收消息,java,jms,activemq,Java,Jms,Activemq,我是活动MQ的新手。我的队列只有一个消费者。我在同步阅读信息,每条信息的最后一条都是唯一的字符串。一些消息很大,所以消费者接收这些消息分为两部分,通过唯一的字符串,消费者生成完整的消息 StringBuilder snapshotUpdateString = new StringBuilder(""); while(true) { Message messageData = consumer.receive(); TextMessage textMessage = (TextMe
StringBuilder snapshotUpdateString = new StringBuilder("");
while(true) {
Message messageData = consumer.receive();
TextMessage textMessage = (TextMessage) messageData;
String receivedMessage=textMessage.getText();
if (receivedMessage.contains("" + (char) PushPortContants.EOF)) {
snapshotUpdateString.append(receivedMessage);
String snapshot = snapshotUpdateString.substring(1, snapshotUpdateString.length() - 1);
parseSaveSsUpdateData.parseAndSave(snapshot);
snapshotUpdateString = new StringBuilder("");
}
else snapshotUpdateString.append(receivedMessage);
}
在队列中,消息越来越多,所以我又添加了一个消费者。现在消费者是两个。
如果消息较大,则将以两个part()
向不同的使用者接收单个消息。如何才能使消息完整
在多消费者中,我使用了listener。当我使用多个消费者时,我是否可以同步接收消息?您希望用于此目的。对于多个使用者,这可能有点棘手,并且需要生产者进行更多的耦合,因为它必须能够设置适当的头
在任何情况下,生产者都需要标记JMSXGroupId和JMSXGroupSeq,以指示特定组的消息和顺序
也值得一读我在上面链接的关于选择器的内容,以帮助您选择最佳方法