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
Modifier and TypeFieldDescriptionprivate final CommonConnectorConfig
private final DocumentReader
private static final org.slf4j.Logger
private final Semaphore
static final int
static final Duration
Waiting period for the polling loop to finish.private final Map<String,
SignalAction<P>> private final List<SignalChannelReader>
private final ScheduledExecutorService
-
Constructor Summary
ConstructorDescriptionSignalProcessor
(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 void
executeWithSemaphore
(Runnable operation) <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>void
process()
private void
processSignal
(SignalRecord signalRecord) void
void
registerSignalAction
(String id, SignalAction<P> signal) void
setContext
(O offset) void
start()
void
stop()
-
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
-
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
-
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)
-