Package org.hibernate.action.spi

Examples of org.hibernate.action.spi.AfterTransactionCompletionProcess


        }
        case INSERT: {
          naturalIdCacheAccessStrategy.insert( naturalIdCacheKey, pk );

          ( (EventSource) session() ).getActionQueue().registerProcess(
              new AfterTransactionCompletionProcess() {
                @Override
                public void doAfterTransactionCompletion(boolean success, SessionImplementor session) {
                  final boolean put = naturalIdCacheAccessStrategy.afterInsert( naturalIdCacheKey, pk );

                  if ( put && justAddedToLocalCache && factory.getStatistics().isStatisticsEnabled() ) {
                    factory.getStatisticsImplementor().naturalIdCachePut(
                        naturalIdCacheAccessStrategy.getRegion().getName() );
                  }
                }
              }
          );

          break;
        }
        case UPDATE: {
          final SoftLock lock = naturalIdCacheAccessStrategy.lockItem( naturalIdCacheKey, null );
          naturalIdCacheAccessStrategy.update( naturalIdCacheKey, pk );

          ( (EventSource) session() ).getActionQueue().registerProcess(
              new AfterTransactionCompletionProcess() {
                @Override
                public void doAfterTransactionCompletion(boolean success, SessionImplementor session) {
                  final boolean put = naturalIdCacheAccessStrategy.afterUpdate( naturalIdCacheKey, pk, lock );

                  if ( put && justAddedToLocalCache && factory.getStatistics().isStatisticsEnabled() ) {
View Full Code Here


            auditProcess = new AuditProcess(revisionInfoGenerator, session);
            auditProcesses.put(transaction, auditProcess);

            session.getActionQueue().registerProcess(auditProcess);

            session.getActionQueue().registerProcess(new AfterTransactionCompletionProcess() {
                public void doAfterTransactionCompletion(boolean success, SessionImplementor session) {
                    auditProcesses.remove(transaction);
                }
            });
        }
View Full Code Here

     * regardless of commit success.
     * @param session Active Hibernate session.
     * @param data Audit data that shall be evicted (e.g. revision data or entity snapshot)
     */
    public void scheduleAuditDataRemoval(final Session session, final Object data) {
        ((EventSource) session).getActionQueue().registerProcess(new AfterTransactionCompletionProcess() {
            public void doAfterTransactionCompletion(boolean success, SessionImplementor session) {
                ((Session) session).evict(data);
            }
        });
    }
View Full Code Here

   * @param session Active Hibernate session.
   * @param data Audit data that shall be evicted (e.g. revision data or entity snapshot)
   */
  public void scheduleAuditDataRemoval(final Session session, final Object data) {
    ((EventSource) session).getActionQueue().registerProcess(
        new AfterTransactionCompletionProcess() {
          public void doAfterTransactionCompletion(boolean success, SessionImplementor session) {
            if ( !session.isClosed() ) {
              ((Session) session).evict( data );
            }
          }
View Full Code Here

    return null;
  }

  @Override
  public AfterTransactionCompletionProcess getAfterTransactionCompletionProcess() {
    return new AfterTransactionCompletionProcess() {
      @Override
      public void doAfterTransactionCompletion(boolean success, SessionImplementor session) {
        for ( EntityCleanup cleanup : entityCleanups ) {
          cleanup.release();
        }
View Full Code Here

   * @param session Active Hibernate session.
   * @param data Audit data that shall be evicted (e.g. revision data or entity snapshot)
   */
  public void scheduleAuditDataRemoval(final Session session, final Object data) {
    ((EventSource) session).getActionQueue().registerProcess(
        new AfterTransactionCompletionProcess() {
          public void doAfterTransactionCompletion(boolean success, SessionImplementor sessionImplementor) {
            if ( !sessionImplementor.isClosed() ) {
              try {
                ( (Session) sessionImplementor ).evict( data );
              }
View Full Code Here

            }
          }
      );

      session.getActionQueue().registerProcess(
          new AfterTransactionCompletionProcess() {
            public void doAfterTransactionCompletion(boolean success, SessionImplementor session) {
              auditProcesses.remove( transaction );
            }
          }
      );
View Full Code Here

    return null;
  }

  @Override
  public AfterTransactionCompletionProcess getAfterTransactionCompletionProcess() {
    return new AfterTransactionCompletionProcess() {
      @Override
      public void doAfterTransactionCompletion(boolean success, SessionImplementor session) {
        for ( EntityCleanup cleanup : entityCleanups ) {
          cleanup.release();
        }
View Full Code Here

    public void afterTransactionCompletion(boolean success) {
      final int size = processes.size();
      for ( int i = 0; i < size; i++ ) {
        try {
          AfterTransactionCompletionProcess process = processes.get( i );
          process.doAfterTransactionCompletion( success, session );
        }
        catch ( CacheException ce ) {
                    LOG.unableToReleaseCacheLock(ce);
          // continue loop
        }
View Full Code Here

     * regardless of commit success.
     * @param session Active Hibernate session.
     * @param data Audit data that shall be evicted (e.g. revision data or entity snapshot)
     */
    public void scheduleAuditDataRemoval(final Session session, final Object data) {
        ((EventSource) session).getActionQueue().registerProcess(new AfterTransactionCompletionProcess() {
            public void doAfterTransactionCompletion(boolean success, SessionImplementor session) {
                if (!session.isClosed()) {
                    ((Session) session).evict(data);
                }
            }
View Full Code Here

TOP

Related Classes of org.hibernate.action.spi.AfterTransactionCompletionProcess

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.