What you are describing is correct and is the intended behavior. If a RuntimeException propagates, then the transaction will not commit. That is exactly how rollbacks work. If you want to have a transaction commit, then you must ensure that no Exception propagates. In the case of the JMS gateway, if you have an error handling messaging flow that does not itself throw an Exception, then the transaction will commit.
error-channel on JMS adaptor Page Title Module
Move Remove Collapse