1

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

from("jpa://net.lr.tutorial.karaf.camel.jpa2jms.model.Person").id("jpa2jms") .transacted() .marshal(df) .bean(new ExceptionDecider()) .to (“jms:人”);

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

https://gist.github.com/3150591

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

4

1 回答 1

4

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

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

于 2016-01-27T13:55:33.443 回答