поддержка транзакций activemq - PullRequest
1 голос
/ 24 февраля 2012

Я пытаюсь разработать многопоточный потребитель activemq.Сообщения обрабатываются в несколько потоков.Можно ли откатить сообщение для определенного потока в случае какого-либо исключения или сбоя?Я смотрю на session.rollback () и session.commit (), но если я вызову эти методы, как я могу убедиться, что конкретное сообщение откатывается?сообщение.

Заранее спасибо.

С уважением, Aeijit

Ответы [ 2 ]

0 голосов
/ 29 февраля 2012

это зависит от того, где установлены границы вашей транзакции. как правило, каждый поток будет иметь свою собственную транзакцию и будет фиксировать / откатывать все сообщения в своей транзакции.

другой вариант - просто использовать общие стратегии исключений / повторов / DLQ для обработки отдельных ошибок сообщений, это проще и соответствует большинству требований

0 голосов
/ 24 февраля 2012

Вы можете самостоятельно управлять подтверждением сообщения с помощью Session.CLIENT_ACKNOWLEDGE и выполнять откат и фиксацию, или предпочтительно использовать диспетчер транзакций для обработки этого поведения за вас.Вам следует взглянуть на повторную доставку сообщений и обработку очереди недоставленных сообщений , чтобы получить представление о доступных вам опциях для обработки откатных сообщений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...