Spring JTA Atomikos Только 7 сообщений потребляет и все в очереди - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть простое приложение Spring-boot с базой JTA на Atomikos Transaction Manager.Он потребляет сообщения из очереди и регистрирует их.Проблема в том, что после 7-го входящего сообщения остальные сообщения в очереди удаляются , но не обрабатываются .Я понял, что это представление зацикливается, я имею в виду:

  1. Вставлено 10 сообщений в очередь.
  2. Обработано и удалено 1-е сообщение.
  3. Обработано и удалено 2-е сообщение.
  4. Обработанное и удаленное 3-е сообщение.
  5. Обработанное и удаленное 4-е сообщение.
  6. Обработанное и удаленное 5-е сообщение.
  7. Обработанное и удаленное 6-е сообщение.
  8. Обработано седьмое сообщение и снято с очереди 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 голосов
/ 29 ноября 2018

Спасибо, Джастин!Наконец, я готовил пример, чтобы легко протестировать проблему, и понял, что ситуация возникает только тогда, когда мы используем консоль ActiveMQ для вставки сообщений.Я подготовил REST API для вставки нескольких сообщений в одну транзакцию, и все они были использованы и сняты с производства.Я думаю, что это может быть ошибка веб-консоли ActiveMQ.

Если кто-то заинтересован, можете загрузить пример с https://github.com/PedroRamirezTOR/spring-jta-amq.git

...