It doesn't look very clean perhaps but adding the try/catch around the whole transactionTemplate.execute() block worked for us.
https://github.com/jamesET/camel/blob/master/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java As the stack trace confirms, persistence exceptions can be thrown just from the back-end mechanics that start the transaction and could potentially happen at other points in the poll method, eg query.getResultList(). And if the the entity manager should be refreshed in case of rollback, or even for a hard disconnect in my case, then it seems reasonable to do something like this. -- View this message in context: http://camel.465427.n5.nabble.com/camel-jpa-and-PersistenceException-tp5795205p5795550.html Sent from the Camel - Users mailing list archive at Nabble.com.