public class InMemoryProcessingFramework extends Object implements ProcessingFramework
InMemoryProcessingFramework
processes requests using a thread pool and submits the
results back to the CatalogFramework
after processing is complete, when appropriate. If
no changes are detected after processing, no results will be sent back to the CatalogFramework
. Currently, partial updates are not supported, meaning that any results being
returned by the InMemoryProcessingFramework
will override the metadata in the catalog.Constructor and Description |
---|
InMemoryProcessingFramework(CatalogFramework catalogFramework,
ExecutorService threadPool) |
Modifier and Type | Method and Description |
---|---|
void |
cleanUp() |
void |
setPostProcessPlugins(List<PostProcessPlugin> postProcessPlugins) |
void |
submitCreate(ProcessRequest<ProcessCreateItem> input)
Submits a
ProcessRequest to be processed by the ProcessingFramework . |
void |
submitDelete(ProcessRequest<ProcessDeleteItem> input)
Submits a
ProcessRequest to be processed by the ProcessingFramework . |
void |
submitUpdate(ProcessRequest<ProcessUpdateItem> input)
Submits a
ProcessRequest to be processed by the ProcessingFramework . |
public InMemoryProcessingFramework(CatalogFramework catalogFramework, ExecutorService threadPool)
public void cleanUp()
public void submitCreate(ProcessRequest<ProcessCreateItem> input)
ProcessingFramework
ProcessRequest
to be processed by the ProcessingFramework
. Processing on the ProcessRequest
will never
block.submitCreate
in interface ProcessingFramework
input
- the ProcessRequest
to be processedpublic void submitUpdate(ProcessRequest<ProcessUpdateItem> input)
ProcessingFramework
ProcessRequest
to be processed by the ProcessingFramework
. Processing on the ProcessRequest
will never
block.submitUpdate
in interface ProcessingFramework
input
- the ProcessRequest
to be processedpublic void submitDelete(ProcessRequest<ProcessDeleteItem> input)
ProcessingFramework
ProcessRequest
to be processed by the ProcessingFramework
. Processing on the ProcessRequest
will never
block.submitDelete
in interface ProcessingFramework
input
- the ProcessDeleteRequest
to be processedpublic void setPostProcessPlugins(List<PostProcessPlugin> postProcessPlugins)
This work is licensed under a Creative Commons Attribution 4.0 International License.