我们可以通过定义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
}
}
任何想法如何实现呢?提前谢谢!
答案 0 :(得分:0)
考虑使用CDI拦截器来处理异常。