Package org.hibernate.engine.transaction.spi

Examples of org.hibernate.engine.transaction.spi.TransactionCoordinator


    }
  }

  @Override
  protected void afterTransactionBegin() {
    final TransactionCoordinator coordinator = transactionCoordinator();
    coordinator.pulse();

    if ( !coordinator.isSynchronizationRegistered() ) {
      isDriver = coordinator.takeOwnership();
    }

    applyTimeout();
    coordinator.sendAfterTransactionBeginNotifications( this );
    coordinator.getTransactionContext().afterTransactionBegin( this );
  }
View Full Code Here


    coordinator.getTransactionContext().afterTransactionBegin( this );
  }

  @Override
  protected void beforeTransactionCommit() {
    final TransactionCoordinator coordinator = transactionCoordinator();
    coordinator.sendBeforeTransactionCompletionNotifications( this );
    final TransactionContext transactionContext = coordinator.getTransactionContext();

    final boolean flush = ! transactionContext.isFlushModeNever() &&
        ( isDriver || ! transactionContext.isFlushBeforeCompletionEnabled() );

    if ( flush ) {
View Full Code Here

  @Override
  public boolean isJoinedToTransaction() {
    checkOpen();

    final SessionImplementor session = (SessionImplementor) internalGetSession();
    final TransactionCoordinator transactionCoordinator = session.getTransactionCoordinator();
    final TransactionImplementor transaction = transactionCoordinator.getTransaction();

    return isOpen() && transaction.getJoinStatus() == JoinStatus.JOINED;
  }
View Full Code Here

      }
      return;
    }

    final SessionImplementor session = (SessionImplementor) internalGetSession();
    final TransactionCoordinator transactionCoordinator = session.getTransactionCoordinator();
    final TransactionImplementor transaction = transactionCoordinator.getTransaction();

    transaction.markForJoin();
    transactionCoordinator.pulse();

    LOG.debug( "Looking for a JTA transaction to join" );
    if ( ! transactionCoordinator.isTransactionJoinable() ) {
      if ( explicitRequest ) {
        // if this is an explicit join request, log a warning so user can track underlying cause
        // of subsequent exceptions/messages
        LOG.unableToJoinTransaction(Environment.TRANSACTION_STRATEGY);
      }
    }

    try {
      if ( transaction.getJoinStatus() == JoinStatus.JOINED ) {
        LOG.debug( "Transaction already joined" );
        return; // noop
      }

      // join the transaction and then recheck the status
      transaction.join();
      if ( transaction.getJoinStatus() == JoinStatus.NOT_JOINED ) {
        if ( explicitRequest ) {
          throw new TransactionRequiredException( "No active JTA transaction on joinTransaction call" );
        }
        else {
          LOG.debug( "Unable to join JTA transaction" );
          return;
        }
      }
      else if ( transaction.getJoinStatus() == JoinStatus.MARKED_FOR_JOINED ) {
        throw new AssertionFailure( "Transaction MARKED_FOR_JOINED after isOpen() call" );
      }

      // register behavior changes
      SynchronizationCallbackCoordinator callbackCoordinator = transactionCoordinator.getSynchronizationCallbackCoordinator();
      callbackCoordinator.setManagedFlushChecker( new ManagedFlushCheckerImpl() );
      callbackCoordinator.setExceptionMapper( new CallbackExceptionMapperImpl() );
      callbackCoordinator.setAfterCompletionAction( new AfterCompletionActionImpl( session, transactionType ) );
    }
    catch ( HibernateException he ) {
View Full Code Here

      }
      return;
    }

    final SessionImplementor session = (SessionImplementor) getSession();
    final TransactionCoordinator transactionCoordinator = session.getTransactionCoordinator();
    final TransactionImplementor transaction = transactionCoordinator.getTransaction();

    transaction.markForJoin();
    transactionCoordinator.pulse();

    LOG.debug( "Looking for a JTA transaction to join" );
    if ( ! transactionCoordinator.isTransactionJoinable() ) {
      if ( explicitRequest ) {
        // if this is an explicit join request, log a warning so user can track underlying cause
        // of subsequent exceptions/messages
        LOG.unableToJoinTransaction(Environment.TRANSACTION_STRATEGY);
      }
    }

    try {
      if ( transaction.getJoinStatus() == JoinStatus.JOINED ) {
        LOG.debug( "Transaction already joined" );
        return; // noop
      }

      // join the transaction and then recheck the status
      transaction.join();
      if ( transaction.getJoinStatus() == JoinStatus.NOT_JOINED ) {
        if ( explicitRequest ) {
          throw new TransactionRequiredException( "No active JTA transaction on joinTransaction call" );
        }
        else {
          LOG.debug( "Unable to join JTA transaction" );
          return;
        }
      }
      else if ( transaction.getJoinStatus() == JoinStatus.MARKED_FOR_JOINED ) {
        throw new AssertionFailure( "Transaction MARKED_FOR_JOINED after isOpen() call" );
      }

      // register behavior changes
      SynchronizationCallbackCoordinator callbackCoordinator = transactionCoordinator.getSynchronizationCallbackCoordinator();
      callbackCoordinator.setManagedFlushChecker( new ManagedFlushCheckerImpl() );
      callbackCoordinator.setExceptionMapper( new CallbackExceptionMapperImpl() );
      callbackCoordinator.setAfterCompletionAction( new AfterCompletionActionImpl( session, transactionType ) );
    }
    catch ( HibernateException he ) {
View Full Code Here

      }
      return;
    }

    final SessionImplementor session = (SessionImplementor) getSession();
    final TransactionCoordinator transactionCoordinator = session.getTransactionCoordinator();
    final TransactionImplementor transaction = transactionCoordinator.getTransaction();

    transaction.markForJoin();
    transactionCoordinator.pulse();

    LOG.debug( "Looking for a JTA transaction to join" );
    if ( ! transactionCoordinator.isTransactionJoinable() ) {
            LOG.unableToJoinTransaction(Environment.TRANSACTION_STRATEGY);
    }

    try {

      if ( transaction.getJoinStatus() == JoinStatus.JOINED ) {
        LOG.debug( "Transaction already joined" );
        return; // noop
      }

      // join the transaction and then recheck the status
      transaction.join();
      if ( transaction.getJoinStatus() == JoinStatus.NOT_JOINED ) {
        if ( ignoreNotJoining ) {
          LOG.debug( "No JTA transaction found" );
          return;
        }
        else {
          throw new TransactionRequiredException( "No active JTA transaction on joinTransaction call" );
        }
      }
      else if ( transaction.getJoinStatus() == JoinStatus.MARKED_FOR_JOINED ) {
        throw new AssertionFailure( "Transaction MARKED_FOR_JOINED after isOpen() call" );
      }

      // register behavior changes
      SynchronizationCallbackCoordinator callbackCoordinator = transactionCoordinator.getSynchronizationCallbackCoordinator();
      callbackCoordinator.setManagedFlushChecker( new ManagedFlushCheckerImpl() );
      callbackCoordinator.setExceptionMapper( new CallbackExceptionMapperImpl() );
      callbackCoordinator.setAfterCompletionAction( new AfterCompletionActionImpl( session, transactionType ) );
    }
    catch ( HibernateException he ) {
View Full Code Here

      }
      return;
    }

    final SessionImplementor session = (SessionImplementor) getSession();
    final TransactionCoordinator transactionCoordinator = session.getTransactionCoordinator();
    final TransactionImplementor transaction = transactionCoordinator.getTransaction();

    transaction.markForJoin();
    transactionCoordinator.pulse();

    LOG.debug( "Looking for a JTA transaction to join" );
    if ( ! transactionCoordinator.isTransactionJoinable() ) {
      if ( explicitRequest ) {
        // if this is an explicit join request, log a warning so user can track underlying cause
        // of subsequent exceptions/messages
        LOG.unableToJoinTransaction(Environment.TRANSACTION_STRATEGY);
      }
    }

    try {
      if ( transaction.getJoinStatus() == JoinStatus.JOINED ) {
        LOG.debug( "Transaction already joined" );
        return; // noop
      }

      // join the transaction and then recheck the status
      transaction.join();
      if ( transaction.getJoinStatus() == JoinStatus.NOT_JOINED ) {
        if ( explicitRequest ) {
          throw new TransactionRequiredException( "No active JTA transaction on joinTransaction call" );
        }
        else {
          LOG.debug( "Unable to join JTA transaction" );
          return;
        }
      }
      else if ( transaction.getJoinStatus() == JoinStatus.MARKED_FOR_JOINED ) {
        throw new AssertionFailure( "Transaction MARKED_FOR_JOINED after isOpen() call" );
      }

      // register behavior changes
      SynchronizationCallbackCoordinator callbackCoordinator = transactionCoordinator.getSynchronizationCallbackCoordinator();
      callbackCoordinator.setManagedFlushChecker( new ManagedFlushCheckerImpl() );
      callbackCoordinator.setExceptionMapper( new CallbackExceptionMapperImpl() );
      callbackCoordinator.setAfterCompletionAction( new AfterCompletionActionImpl( session, transactionType ) );
    }
    catch ( HibernateException he ) {
View Full Code Here

      }
      return;
    }

    final SessionImplementor session = (SessionImplementor) getSession();
    final TransactionCoordinator transactionCoordinator = session.getTransactionCoordinator();
    final TransactionImplementor transaction = transactionCoordinator.getTransaction();

    transaction.markForJoin();
    transactionCoordinator.pulse();

    LOG.debug( "Looking for a JTA transaction to join" );
    if ( ! transactionCoordinator.isTransactionJoinable() ) {
      if ( explicitRequest ) {
        // if this is an explicit join request, log a warning so user can track underlying cause
        // of subsequent exceptions/messages
        LOG.unableToJoinTransaction(Environment.TRANSACTION_STRATEGY);
      }
    }

    try {
      if ( transaction.getJoinStatus() == JoinStatus.JOINED ) {
        LOG.debug( "Transaction already joined" );
        return; // noop
      }

      // join the transaction and then recheck the status
      transaction.join();
      if ( transaction.getJoinStatus() == JoinStatus.NOT_JOINED ) {
        if ( explicitRequest ) {
          throw new TransactionRequiredException( "No active JTA transaction on joinTransaction call" );
        }
        else {
          LOG.debug( "Unable to join JTA transaction" );
          return;
        }
      }
      else if ( transaction.getJoinStatus() == JoinStatus.MARKED_FOR_JOINED ) {
        throw new AssertionFailure( "Transaction MARKED_FOR_JOINED after isOpen() call" );
      }

      // register behavior changes
      SynchronizationCallbackCoordinator callbackCoordinator = transactionCoordinator.getSynchronizationCallbackCoordinator();
      callbackCoordinator.setManagedFlushChecker( new ManagedFlushCheckerImpl() );
      callbackCoordinator.setExceptionMapper( new CallbackExceptionMapperImpl() );
      callbackCoordinator.setAfterCompletionAction( new AfterCompletionActionImpl( session, transactionType ) );
    }
    catch ( HibernateException he ) {
View Full Code Here

  @Override
  public boolean isJoinedToTransaction() {
    checkOpen();

    final SessionImplementor session = (SessionImplementor) internalGetSession();
    final TransactionCoordinator transactionCoordinator = session.getTransactionCoordinator();
    final TransactionImplementor transaction = transactionCoordinator.getTransaction();

    return isOpen() && transaction.getJoinStatus() == JoinStatus.JOINED;
  }
View Full Code Here

      }
      return;
    }

    final SessionImplementor session = (SessionImplementor) internalGetSession();
    final TransactionCoordinator transactionCoordinator = session.getTransactionCoordinator();
    final TransactionImplementor transaction = transactionCoordinator.getTransaction();

    transaction.markForJoin();
    transactionCoordinator.pulse();

    LOG.debug( "Looking for a JTA transaction to join" );
    if ( ! transactionCoordinator.isTransactionJoinable() ) {
      if ( explicitRequest ) {
        // if this is an explicit join request, log a warning so user can track underlying cause
        // of subsequent exceptions/messages
        LOG.unableToJoinTransaction(Environment.TRANSACTION_STRATEGY);
      }
    }

    try {
      if ( transaction.getJoinStatus() == JoinStatus.JOINED ) {
        LOG.debug( "Transaction already joined" );
        return; // noop
      }

      // join the transaction and then recheck the status
      transaction.join();
      if ( transaction.getJoinStatus() == JoinStatus.NOT_JOINED ) {
        if ( explicitRequest ) {
          throw new TransactionRequiredException( "No active JTA transaction on joinTransaction call" );
        }
        else {
          LOG.debug( "Unable to join JTA transaction" );
          return;
        }
      }
      else if ( transaction.getJoinStatus() == JoinStatus.MARKED_FOR_JOINED ) {
        throw new AssertionFailure( "Transaction MARKED_FOR_JOINED after isOpen() call" );
      }

      // register behavior changes
      SynchronizationCallbackCoordinator callbackCoordinator = transactionCoordinator.getSynchronizationCallbackCoordinator();
      callbackCoordinator.setManagedFlushChecker( new ManagedFlushCheckerImpl() );
      callbackCoordinator.setExceptionMapper( new CallbackExceptionMapperImpl() );
      callbackCoordinator.setAfterCompletionAction( new AfterCompletionActionImpl( session, transactionType ) );
    }
    catch ( HibernateException he ) {
View Full Code Here

TOP

Related Classes of org.hibernate.engine.transaction.spi.TransactionCoordinator

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.