Jms 客户端能否在确认队列的多条消息之前接收它们?

Jms 客户端能否在确认队列的多条消息之前接收它们?,jms,activemq,Jms,Activemq,我的程序接收消息的速度相当慢;我想让它们一直留在队列中,直到我收到所有它们并确认所有它们。我不知道我是否有足够的信息,直到我收到一堆 我的问题:队列是否会阻塞,在发送第二条消息之前等待第一条消息的确认?好吧,我使用示例生产者/消费者代码运行了一个测试。消费者实际上有一些代码(如果切换到ClientAcknowledge)。它接收一组消息(其中10条),只确认最后一条消息 将确认模式设置为会话。客户端确认时,您可以获得所需的任意数量的消息。这些消息将被锁定在服务器上,因此其他消费者无法同时检索它们

我的程序接收消息的速度相当慢;我想让它们一直留在队列中,直到我收到所有它们并确认所有它们。我不知道我是否有足够的信息,直到我收到一堆


我的问题:队列是否会阻塞,在发送第二条消息之前等待第一条消息的确认?

好吧,我使用示例生产者/消费者代码运行了一个测试。消费者实际上有一些代码(如果切换到ClientAcknowledge)。它接收一组消息(其中10条),只确认最后一条消息

将确认模式设置为会话。客户端确认时,您可以获得所需的任意数量的消息。这些消息将被锁定在服务器上,因此其他消费者无法同时检索它们。所以答案是否定的,队列不会阻塞(即使可能存在特定于提供者的设置,我也不知道)

但是,您只能一次确认所有。因此,当您收到10条消息,并且您确认其中一条(不管是哪条),所有消息都将被确认

查看您的参考资料