使用camel-jpa和JTA事务时出现“无法提交:标记为回滚的事务”的异常

时间:2012-07-20 13:02:11

标签: osgi apache-camel

我目前正在制作一个教程,在Karaf和JTA Transactions上展示camel-jpa。我使用以下路线:

从( “JPA://net.lr.tutorial.karaf.camel.jpa2jms.model.Person”).ID( “jpa2jms”) .transacted() .marshal(DF) .bean(new ExceptionDecider()) 。要( “JMS:人”);

所以我通过在ExceptionDecider中抛出异常来检查事务是否有效。当我这样做时,我得到以下例外:

https://gist.github.com/3150591

任何想法我做错了什么?我怀疑这可能是我设置事务管理器的方式。 你可以在github上找到我的整个项目: https://github.com/cschneider/Karaf-Tutorial/tree/master/cameljpa/jpa2jms

1 个答案:

答案 0 :(得分:3)

当事务在异常处理程序中标记但吞下异常时会发生这种情况。通常情况下,此类异常应该冒泡并导致整个事务回滚。

如果吞下异常,那么camel会在最后尝试提交,从而导致上述异常。