【发布时间】:2013-12-20 11:31:44
【问题描述】:
您知道当我使用实体管理器时如何获取自动登记到我的事务中的 XAResource 吗?
我使用 Bitronix、JPA、hibernate,我的代码运行良好,但我不想回滚我所有的 XAResources,如果一个特定的失败。我只是想从当前事务中删除它,其他的将被提交。
但是为了从当前事务中删除它,我需要对象 XaResource,但我不知道如何使用 JPA/Bitronix 获得它。代码示例:
transactionManager.begin();
try {
(...)
EntityManager em = emf.createEntityManager();
(...)
em.close();
} catch (Exception e) {
// old version - rollback every XaResource in the current transaction
//transactionManager.rollback();
//new version wanted - rollbackonly this XaResource
transactionManager.getTransaction().delistResource(XaResource ...);
throw e;
}
transactionManager.commit();
感谢您的帮助。
【问题讨论】:
标签: java hibernate jpa jta bitronix