Client Processing
Client Processing is a pluggable module which will send a notification to a downstream implementation to inform it that components generated by Debulker are ready to be processed. It also handles the receiving of notifications to inform the Debulker components have been processed, so that the Debulker can perform housekeeping operations.
Interface
The ComponentProcessingInitiationPort interface is defined as follows, and is used to send notifications that components are ready to be processed.
public interface ComponentProcessingInitiationPort {
CompletionStage<Void> initiateProcessing(InitiateComponentProcessingCommand command); (1)
}
| 1 | initiateProcessing is used to send InitiateComponentProcessingCommand. |
The ComponentProcessingCompletionPort interface is defined as follows, and it will handle notifications that processing of components is completed. An application which uses this module will need to implement it.
public interface ComponentProcessingCompletionPort {
CompletionStage<Void> processingComplete(CompleteComponentProcessingCommand command); (1)
}
| 1 | processingComplete is used to handle CompleteComponentProcessingCommand. |
Implementations
A connector library is used to send and consume messages to/from a specific transport technology. Currently, the only transport implementation is Kafka but users can write implementations for other technologies.