加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 01:44:03 所属栏目:大数据 来源:网络整理
导读:我试图使用Spring JMSTemplate.receive(String)方法以同步模式从队列中获取所有消息. 问题是我总是只收到一条消息.这是代码: @Transactionalpublic List 如果我删除了@Transactional注释,我会收到所有消息,但所有消息都是在事务中完成的,所以如果稍后在处理

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

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

@Transactional
public List

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

这是我的JMSTemplate bean的定义.

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

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

public class CustomQueueJmsTemplate extends JmsTemplateDelegate {

  public List

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读