@Dayson_Rodrigues escreveu:
eu peguei um codigo aqui para gerenciar a transação mais estou meio confuso, alguem pode me dar um Help.
OBS: Eu fiquei na duvida, sobre uma variavel boolean, e dentro do if tem 2 begin() e no meio tem um rollback e passa depois true, me enrolei rsrs
@Priority(Interceptor.Priority.LIBRARY_BEFORE) @Interceptor @Transactional public class TransactionInterceptor implements Serializable { private static final long serialVersionUID = 1L; @Inject private EntityManager manager; @AroundInvoke public Object invoke(InvocationContext context) throws Exception { EntityTransaction transaction = manager.getTransaction(); boolean owner = false; try { if (!transaction.isActive()) { transaction.begin(); transaction.rollback(); transaction.begin(); owner = true; } return context.proceed(); } catch (Exception e) { if (transaction != null && owner) { transaction.rollback(); } throw e; } finally { if (transaction != null && transaction.isActive() && owner) { transaction.commit(); } } } }
Mensagens: 1
Participantes: 1