org.hibernate.search.batchindexing.impl
Class IdentifierProducer
java.lang.Object
org.hibernate.search.batchindexing.impl.IdentifierProducer
- All Implemented Interfaces:
- StatelessSessionAwareRunnable
public class IdentifierProducer
- extends Object
- implements StatelessSessionAwareRunnable
This Runnable is going to feed the indexing queue
with the identifiers of all the entities going to be indexed.
This step in the indexing process is not parallel (should be
done by one thread per type) so that a single transaction is used
to define the group of entities to be indexed.
Produced identifiers are put in the destination queue grouped in List
instances: the reason for this is to load them in batches
in the next step and reduce contention on the queue.
- Author:
- Sanne Grinovero
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
IdentifierProducer
public IdentifierProducer(ProducerConsumerQueue<List<Serializable>> fromIdentifierListToEntities,
SessionFactory sessionFactory,
int objectLoadingBatchSize,
Class<?> indexedType,
MassIndexerProgressMonitor monitor,
long objectsLimit,
ErrorHandler errorHandler,
int idFetchSize)
- Parameters:
fromIdentifierListToEntities
- the target queue where the produced identifiers are sent tosessionFactory
- the Hibernate SessionFactory to use to load entitiesobjectLoadingBatchSize
- affects mostly the next consumer: IdentifierConsumerEntityProducerindexedType
- the entity type to be loadedmonitor
- to monitor indexing progressobjectsLimit
- if not zeroerrorHandler
- how to handle unexpected errors
run
public void run(StatelessSession upperSession)
- Specified by:
run
in interface StatelessSessionAwareRunnable
Copyright © 2006-2012 Red Hat Middleware, LLC. All Rights Reserved