Package io.ebeanservice.docstore.api
Interface DocStoreUpdateProcessor
-
public interface DocStoreUpdateProcessor
Processes index updates.This involves sending updates directly to ElasticSearch via it's Bulk API or queuing events for future processing.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
commit(DocStoreTransaction docStoreTransaction)
Perform commit/flush of the changes made via the document store transaction.<T> DocStoreQueryUpdate<T>
createQueryUpdate(BeanType<T> beanType, int bulkBatchSize)
Create a processor to handle updates per bean via a findEach query.DocStoreTransaction
createTransaction(int batchSize)
Create a document store transaction hinting at the batch size.void
process(DocStoreUpdates docStoreUpdates, int bulkBatchSize)
Process all the updates for a transaction.
-
-
-
Method Detail
-
createQueryUpdate
<T> DocStoreQueryUpdate<T> createQueryUpdate(BeanType<T> beanType, int bulkBatchSize) throws IOException
Create a processor to handle updates per bean via a findEach query.- Throws:
IOException
-
process
void process(DocStoreUpdates docStoreUpdates, int bulkBatchSize)
Process all the updates for a transaction.Typically this makes calls to the Bulk API of the document store or simply adds entries to a queue for future processing.
- Parameters:
docStoreUpdates
- The 'Bulk' and 'Queue' updates to the indexes for the transaction.bulkBatchSize
- The batch size to use for Bulk API calls specified on the transaction. If this is 0 then the default batch size is used.
-
createTransaction
DocStoreTransaction createTransaction(int batchSize)
Create a document store transaction hinting at the batch size.The batch size can be set via
Transaction.setDocStoreBatchSize(int)
-
commit
void commit(DocStoreTransaction docStoreTransaction)
Perform commit/flush of the changes made via the document store transaction.
-
-