【发布时间】:2019-06-21 18:36:29
【问题描述】:
在我的 Java EE 应用程序中,我使用 JMS 来存储一些消息。我想在 JSF 分页表中显示这些消息。如何批量获取队列中的消息?目前我正在使用这样的东西,但它不是很好,因为我需要遍历许多消息。
这可以实现吗?我正在将 JBoss 与 HornetQ 一起使用。
browser = session.createBrowser(queue);
List<Message> messagesToReturn = new ArrayList<>();
final Enumeration<ObjectMessage> messages = browser.getEnumeration();
int messagesSoFar = 0;
int count = 0;
while(messages.hasMoreElements()) {
ObjectMessage message = messages.nextElement();
if (count >= offset) {
messagesToReturn.add(new CGSQueueMessage(message));
messagesSoFar += 1;
}
if (messagesSoFar == maxSelect) {
break;
}
count += 1;
}
return messagesToReturn;
【问题讨论】: