Class Summary |
BatchCoordinator |
Makes sure that several different BatchIndexingWorkspace(s)
can be started concurrently, sharing the same batch-backend
and IndexWriters. |
BatchIndexingWorkspace |
This runnable will prepare a pipeline for batch indexing
of entities, managing the lifecycle of several ThreadPools. |
EntityConsumerLuceneWorkProducer |
Component of batch-indexing pipeline, using chained producer-consumers. |
Executors |
Helper class to create threads;
these threads are grouped and named to be identified in a profiler. |
Executors.BlockPolicy |
A handler for rejected tasks that will have the caller block until
space is available. |
IdentifierConsumerEntityProducer |
This Runnable is consuming entity identifiers and
producing loaded detached entities for the next queue. |
IdentifierProducer |
This Runnable is going to feed the indexing queue
with the identifiers of all the entities going to be indexed. |
OptionallyWrapInJTATransaction |
Wrap the subsequent Runnable in a JTA Transaction if necessary:
- if the existing Hibernate Core transaction strategy requires a TransactionManager
- if no JTA transaction is already started
Unfortunately at this time we need to have access to SessionFactoryImplementor |
ProducerConsumerQueue<T> |
Implements a blocking queue capable of storing
a "poison" token to signal consumer threads
that the task is finished. |