Как настроить транзакцию в Camel JMS Route

Как настроить транзакцию в маршруте JMS для отката или не использовать сообщение при возникновении исключения. Ниже мой маршрут. MQ — это ActiveMQ.

from("jms:queue:myQueue")
        .routeId("myRoute")
        .doTry()
            .toF("reactive-streams:myStream")
        .doCatch(Exception.class)
            .process(exchange -> exchange.getFromEndpoint().stop())
        .end();`

person user3549576    schedule 05.07.2020    source источник


Ответы (1)


Простое добавление транзакций сделало работу! Также пришлось включить пул соединений и camel-jms-starter (для заводов по умолчанию).

from("jms:queue:myQueue?transacted=true")
        .routeId("myRoute")
        .doTry()
            .toF("reactive-streams:myStream")
        .doCatch(Exception.class)
            .process(exchange -> exchange.getFromEndpoint().stop())
        .end();
person user3549576    schedule 06.07.2020