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

最佳答案

您将得到一个例外,因为会话必须处于异步或同步模式。从JMS规范的4.4.6开始


  会话的单控制线程限制的结果是
  与消息侦听器的会话也不能用于同步接收
  消息。会话专用于用于
  传递给消息侦听器或专用于启动的控制线程
  根据客户代码。尝试在同一会话中将两者合并是错误的。

关于java - 有关JMS receive()/MessageListener优先级的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6938852/

10-11 22:51