Spring JMSTemplate在一个事务中接收所有消息

前端之家收集整理的这篇文章主要介绍了Spring JMSTemplate在一个事务中接收所有消息前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我试图使用Spring JMSTemplate.receive(String)方法以同步模式从队列中获取所有消息.

问题是我总是只收到一条消息.这是代码

@Transactional
public List

如果我删除了@Transactional注释,我会收到所有消息,但所有消息都是在事务中完成的,所以如果稍后在处理这些消息时会有一个例外,消息将会丢失.

这是我的JMSTemplate bean的定义.

我想要实现的是拥有一个事务,并且在此事务中我想获取所有待处理的消息.

最佳答案
我会回复自己.看起来JMSTemplate不支持它.暂时解决它的唯一方法是扩展JMSTemplate并添加使用JMSTemplate部分的新方法.不幸的是,有些方法是私有的,所以需要复制它们……

public class CustomQueueJmsTemplate extends JmsTemplateDelegate {

  public List
原文链接:https://www.f2er.com/spring/431494.html

猜你在找的Spring相关文章