@Singelton
class A {
@Resource
private TrsnactionSynchronizationRegistry tsr;
@TransactionAttribute(TransactionAttributeType.Required)
method () {
// here tsr.getTransactionStatus() is 0 means active
EntityClass entity = new EnityClass();
em.persist(entity);// Duplicate Key exception
em.flush();
// here tsr.getTransactionStatus() is 1 means markedForRollback;
}
В компоненте ejb singletion, использующем транзакцию, управляемую контейнером, и в спящем режиме согласно приведенному выше коду. После запуска em.persist (entity) из-за исключения дубликата ключа транзакция была помечена для отката. Но я хочу, чтобы транзакция была активной, как я могу избежать ее или изменить статус транзакции на активную.