Example usage for org.hibernate.action.spi AfterTransactionCompletionProcess AfterTransactionCompletionProcess

List of usage examples for org.hibernate.action.spi AfterTransactionCompletionProcess AfterTransactionCompletionProcess

Introduction

In this page you can find the example usage for org.hibernate.action.spi AfterTransactionCompletionProcess AfterTransactionCompletionProcess.

Prototype

AfterTransactionCompletionProcess

Source Link

Usage

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/*from ww  w.j  a v a  2s . c om*/
            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;
}

From source file:com.googlecode.hibernate.audit.synchronization.AuditSynchronizationManager.java

License:Open Source License

public AuditSynchronization get(EventSource session) {
    final Transaction transaction = session.getTransaction();

    AuditSynchronization synchronization = syncronizations.get(transaction);
    if (synchronization == null) {
        synchronization = new AuditSynchronization(this, session);
        syncronizations.put(transaction, synchronization);

        session.getActionQueue().registerProcess(synchronization);
        session.getActionQueue().registerProcess(new AfterTransactionCompletionProcess() {
            public void doAfterTransactionCompletion(boolean success, SessionImplementor session) {
                syncronizations.remove(transaction);
            }//from  w  w w.ja  v a  2  s  . c o m
        });
        //auditConfiguration.getExtensionManager().getTransactionSyncronization().registerSynchronization(session, synchronization);
    }

    return synchronization;
}

From source file:de.dktk.dd.rpb.portal.audit.AuditLogListener.java

License:Open Source License

private void audit(AbstractEvent hibernateEvent, final AuditLog auditLog) {
    hibernateEvent.getSession().getActionQueue().registerProcess(new AfterTransactionCompletionProcess() {
        @Override//from ww  w .j a  va 2  s .c  om
        public void doAfterTransactionCompletion(boolean success, SessionImplementor session) {
            if (success) {
                auditLogService.log(auditLog);
            }
        }
    });
}