I have a JMS topic with Redelivery parameters set and a proxy service for it that routs a message to some REST business service. In case of transport (network) errors everything works as expected: the message is supposed not delivered and changes its status to delayed, then further attempts to deliver it are made. But when we get some “business” error, the message is marked as delivered despite the exception raised and error handler invoked. Debugging showed that when entering error handler the transaction is already committed. Is this an intended behavior or a bug and can I override it? Our aim is to catch any errors and then decide whether to raise an error to force redelivery or to reply with success to complete the processing. It’s essential that we work with topic, so we can’t just re-queue the message. We work with 12.2.1.4