Транзакция JMS - после коммита
В моем приложении я использую Spring's DefaultMessageListenerContainer
с sessionTransacted
установлен в true
, Мне нужно выполнить метод, который будет вызываться только в случае успешного выполнения слушателя, что означает, что сеанс JMS зафиксирован. Другими словами, отката нет, и сообщение JMS не возвращается в очередь.
Я знаю, что я мог бы установить transactionManager
в DMLC, а затем играть с TransactionSynchronizationManager.registerSynchronization()
метод где-то в коде, но я ищу способ без использования actionManager.
Есть ли способ добиться этого? Я думаю, что мне нужен своего рода JMS session.commit()
событие / обратный вызов (я не смог найти такие возможности в Spring) или рабочий процесс, где мой метод вызывается как второй шаг после того, как прослушиватель сообщений выполняется первым.