Package io.debezium.pipeline.signal
Class SignalProcessor<P extends Partition,O extends OffsetContext>
java.lang.Object
io.debezium.pipeline.signal.SignalProcessor<P,O>
This class permits to process signals coming from the different channels.
- Author:
- Mario Fiore Vitale
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CommonConnectorConfigprivate final DocumentReaderprivate final List<SignalChannelReader>private static final org.slf4j.Loggerprivate final Semaphorestatic final intstatic final DurationWaiting period for the polling loop to finish.private final Map<String,SignalAction<P>> private final List<SignalChannelReader>private final ScheduledExecutorService -
Constructor Summary
ConstructorsConstructorDescriptionSignalProcessor(Class<? extends org.apache.kafka.connect.source.SourceConnector> connector, CommonConnectorConfig config, Map<String, SignalAction<P>> signalActions, List<SignalChannelReader> signalChannelReaders, DocumentReader documentReader, Offsets<P, O> previousOffsets) -
Method Summary
Modifier and TypeMethodDescriptionprivate voidexecuteWithSemaphore(Runnable operation) private List<SignalChannelReader><T extends SignalChannelReader>
TgetSignalChannel(Class<T> channel) The method permits to get specified SignalChannelReader instance from the available SPI implementationsprivate Predicate<SignalChannelReader>private static <T extends SignalChannelReader>
Predicate<SignalChannelReader>voidprocess()private voidprocessSignal(SignalRecord signalRecord) voidvoidregisterSignalAction(String id, SignalAction<P> signal) voidsetContext(O offset) voidstart()voidstop()
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
SHUTDOWN_WAIT_TIMEOUT
Waiting period for the polling loop to finish. Will be applied twice, once gracefully, once forcefully. -
SEMAPHORE_WAIT_TIME
public static final int SEMAPHORE_WAIT_TIME- See Also:
-
signalActions
-
connectorConfig
-
enabledChannelReaders
-
signalChannelReaders
-
signalProcessorExecutor
-
documentReader
-
previousOffsets
-
semaphore
-
-
Constructor Details
-
SignalProcessor
public SignalProcessor(Class<? extends org.apache.kafka.connect.source.SourceConnector> connector, CommonConnectorConfig config, Map<String, SignalAction<P>> signalActions, List<SignalChannelReader> signalChannelReaders, DocumentReader documentReader, Offsets<P, O> previousOffsets)
-
-
Method Details
-
isEnabled
-
getEnabledChannelReaders
-
setContext
-
start
public void start() -
stop
- Throws:
InterruptedException
-
registerSignalAction
-
process
public void process() -
processSourceSignal
public void processSourceSignal() -
executeWithSemaphore
-
processSignal
-
getSignalChannel
The method permits to get specified SignalChannelReader instance from the available SPI implementations- Parameters:
channel- the class of the channel to get- Returns:
- the specified instance from the available SPI implementations
-
isSignal
private static <T extends SignalChannelReader> Predicate<SignalChannelReader> isSignal(Class<T> channelClass)
-