List of usage examples for org.hibernate.action.spi BeforeTransactionCompletionProcess BeforeTransactionCompletionProcess
BeforeTransactionCompletionProcess
From source file:com.googlecode.hibernate.audit.synchronization.AuditProcessManager.java
License:Open Source License
public AuditProcess get(EventSource session) { final Transaction transaction = session.accessTransaction(); AuditProcess auditProcess = auditProcesses.get(transaction); if (auditProcess == null) { auditProcess = new AuditProcess(auditConfiguration, session); auditProcesses.put(transaction, auditProcess); session.getActionQueue().registerProcess(new BeforeTransactionCompletionProcess() { @Override/*w w w . j a va 2 s. c o m*/ public void doBeforeTransactionCompletion(SessionImplementor session) { AuditProcess process = auditProcesses.get(transaction); if (process != null) { process.doBeforeTransactionCompletion(session); } } }); session.getActionQueue().registerProcess(new AfterTransactionCompletionProcess() { @Override public void doAfterTransactionCompletion(boolean success, SharedSessionContractImplementor session) { auditProcesses.remove(transaction); } }); } return auditProcess; }