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