Spring JTA Atomikos仅消耗7条消息,所有消息均已出队

时间:2018-11-28 14:59:13

标签: spring spring-boot activemq atomikos

我有一个基于Atomikos Transaction Manager的带有JTA的简单Spring-boot应用程序。它使用队列中的消息并记录它们。问题在于,在第7条传入消息之后,队列中其余消息将被出队,但未被处理。我意识到这种性能正在循环,我的意思是:

  1. 在队列中插入10条消息。
  2. 已处理并出队的第一条消息。
  3. 已处理并出队的第二条消息。
  4. 已处理并出队的第三条消息。
  5. 已处理并出队的第四条消息。
  6. 已处理并出队的第五条消息。
  7. 已处理并出队的第六条消息。
  8. 处理了第7条消息,并将第7、8、9和10条消息出队。
  9. 在队列中插入其他10条消息。
  10. 处理并出队的第11条消息。
  11. 处理并出队的第12条消息。
  12. 处理并出队的第13条消息。
  13. 已处理并出队的第14条消息。
  14. 已处理并出队的第15条消息。
  15. 已处理并出队的第16条消息。
  16. 处理了第17条消息,并将第17、18、19和20条消息出队。

此外,我意识到没有启用事务管理器,它将处理并消耗队列中的所有消息。

关于这一点,我是否忘记了任何错误或配置?

您可以在以下网址找到完整的代码:https://github.com/PedroRamirezTOR/spring-jta-amq.git

1 个答案:

答案 0 :(得分:0)

谢谢贾斯汀!最后,我准备了示例来轻松测试问题,并且我意识到这种情况仅在我们使用ActiveMQ控制台插入消息时发生。我准备了一个REST api,以便在一个事务中插入许多消息,所有消息都被消耗和出队。我认为这可能是ActiveMQ Web控制台错误。

如果有兴趣的人可以从https://github.com/PedroRamirezTOR/spring-jta-amq.git下载该示例

相关问题