Package org.hibernate.search.backend.impl

Examples of org.hibernate.search.backend.impl.PostTransactionWorkQueueSynchronization


  }

  private void processWork(Work work, AbstractEvent event) {
    if ( event.getSession().isTransactionInProgress() ) {
      Transaction transaction = event.getSession().getTransaction();
      PostTransactionWorkQueueSynchronization sync = (PostTransactionWorkQueueSynchronization)
          queuePerTransaction.get( transaction );
      if ( sync == null || sync.isConsumed() ) {
        WorkQueue workQueue = new BatchLuceneWorkQueue( documentBuilders, lockableDirectoryProviders );
        sync = new PostTransactionWorkQueueSynchronization( workQueue, queuePerTransaction );
        transaction.registerSynchronization( sync );
        queuePerTransaction.put(transaction, sync);
      }
      sync.add( work );
    }
    else {
      WorkQueue workQueue = new BatchLuceneWorkQueue( documentBuilders, lockableDirectoryProviders );
      PostTransactionWorkQueueSynchronization sync = new PostTransactionWorkQueueSynchronization( workQueue );
      sync.add( work );
      sync.afterCompletion( Status.STATUS_COMMITTED );
    }
  }
View Full Code Here


      }
      postTransactionWorkQueueSynch.add( work );
    }
    else {
      //no transaction work right away
      PostTransactionWorkQueueSynchronization sync =
          createWorkQueueSync( documentBuilders, lockableDirectoryProviders );
      sync.add( work );
      sync.afterCompletion( Status.STATUS_COMMITTED );
    }
  }
View Full Code Here

  private PostTransactionWorkQueueSynchronization createWorkQueueSync(
      Map<Class, DocumentBuilder<Object>> documentBuilders,
      Map<DirectoryProvider, ReentrantLock> lockableDirectoryProviders) {
    WorkQueue workQueue = new BatchLuceneWorkQueue( documentBuilders, lockableDirectoryProviders );
    return new PostTransactionWorkQueueSynchronization( workQueue );
  }
View Full Code Here

TOP

Related Classes of org.hibernate.search.backend.impl.PostTransactionWorkQueueSynchronization

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.