关于JMS receive()/ MessageListener优先级的问题

时间:2011-08-04 09:15:43

标签: java jms

如果我为MessageListener设置MessageConsumer对象,然后在该消费者上调用receive(),会发生什么?提供商是否会将消息发送给receive(),还是会在MessageListener对象处理消息时继续阻止消息?

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

我很难想象这样做有意义的情况。

假设您的receive()没有优先权。然后可能没有效果。

假设您的receive()确实具有优先权。收到消息后,您会发生什么?据推测,直到你再次呼叫接收消息消费者将收到消息?在这种情况下,你的系统行为实际上是一个巨大的竞争条件,消息的确切到达时间会导致不同的行为。

你必须能做得比这更好。有一个“自适应”的MessageConsumer,你可以控制它的行为。