从CDI事务观察器方法获取异常

时间:2015-07-08 09:52:16

标签: java transactions cdi

我们可以通过定义TransactionPhase属性来声明一个观察者方法作为事务:

public void onDocumentUpdate(@Observes(during=AFTER_SUCCESS) @Updated Document doc) {
    ...
}

是否有可能获得Exception导致事务CDI观察者中的事务被破坏? 例如,我想根据抛出的Exception为某些场景编写一些业务逻辑:

void onDocumentUpdate(@Observes(during=AFTER_FAILURE) @Updated Document doc) {
    Exception e = getFailureCause();
    if (check_wether_e_is_instance_of_ConstraintViolationException) {
        // do something
    }
}

任何想法如何实现呢?提前谢谢!

1 个答案:

答案 0 :(得分:0)

考虑使用CDI拦截器来处理异常。