0
有沒有辦法更改Websphere 7應用程序服務器的默認EJBException處理?Websphere EjbException包裝
我們有啓動一個新事務的EJB:
@Stateless
@TransactionManagement(TransactionManagementType.CONTAINER)
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public class SomeDaoBean implements SomeDaoLocal {
@Override
public void persistObject(SomeObject object) {
...
}
}
當交易被由容器COMMITED,有一個回退,我們不能得到初始原因。調用persistObject的EJB做這樣的事情:
try {
someDao.persistObject(someObject);
} catch (final EJBException ejbE) {
handleEjbException(someObject, ejbE);
}
當我們試圖處理並記錄捕捉EJBException異常,原因是EJBTransactionRolledBackException和Websphere的所有實例記錄的原件(如java.sql.SQLIntegrityConstraintViolationException)到SystemOut日誌。
是否有配置WebSphere方式
- 不會失去在事務邊界上原來的異常
- 要不能登錄入SystemOut.log中
我知道我可以處理JPA通過擁有一個攔截器並自己沖洗,但我不喜歡這種解決方案。