У меня есть сценарий, в котором очередь 1 запускает транзакцию с базой данных и помещает сообщение в очередь 2 через адаптер исходящего канала. Если в очереди 2 возникает какое-то исключение, я должен откатиться и в очереди 1. Пример кода был бы полезен.
Привет, Артем, у меня есть адаптер канала, управляемый сообщениями JMS, который считывает сообщение из очереди 1, после некоторой обработки с сообщением помещает сообщение в очередь 2 с помощью адаптера исходящего канала. Используя адаптер канала, управляемый сообщениями, я прочитал сообщение из очереди 2, в случае исключения, как мне откатить даже обработку из очереди 1. Извините за мой английский :)





I have JMS message driven channel adapter that reads message from Queue 1, after some processing with the message puts message into Queue 2 using outbound channel adapter. Using message driven channel adapter I read message from Queue 2, in case of exception how do i rollback even the processing from Queue1.
Вы не можете этого сделать - это отдельные транзакции.
Второй входящий адаптер не получит сообщение, пока не будет зафиксирована первая транзакция.
Непонятно, о чем вы спрашиваете. Насколько я знаю, очереди не запускают транзакции. Я не хочу строить догадки, но мы должны начать говорить на одном языке, чтобы вместе найти решение. Вы можете прочитать это, чтобы лучше понять модель транзакции смешанных проблем: javaworld.com/article/2077963/open-source-tools/…. Также было бы здорово получить код именно от вас. Никто здесь не будет работать за вас.