Транзакция JMS - после коммита

В моем приложении я использую Spring's DefaultMessageListenerContainer с sessionTransacted установлен в true, Мне нужно выполнить метод, который будет вызываться только в случае успешного выполнения слушателя, что означает, что сеанс JMS зафиксирован. Другими словами, отката нет, и сообщение JMS не возвращается в очередь.

Я знаю, что я мог бы установить transactionManager в DMLC, а затем играть с TransactionSynchronizationManager.registerSynchronization() метод где-то в коде, но я ищу способ без использования actionManager.

Есть ли способ добиться этого? Я думаю, что мне нужен своего рода JMS session.commit() событие / обратный вызов (я не смог найти такие возможности в Spring) или рабочий процесс, где мой метод вызывается как второй шаг после того, как прослушиватель сообщений выполняется первым.

0 ответов

Другие вопросы по тегам