Class KafkaSignalChannel
java.lang.Object
io.debezium.pipeline.signal.channels.KafkaSignalChannel
- All Implemented Interfaces:
SignalChannelReader
The class responsible for processing of signals delivered to Debezium via a dedicated Kafka topic.
The signal message must have the following structure:
id STRING
- the unique identifier of the signal sent, usually UUID, can be used for deduplicationtype STRING
- the unique logical name of the code executing the signaldata STRING
- the data in JSON format that are passed to the signal code
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprivate static Configuration
buildKafkaConfiguration
(Configuration signalConfig) void
close()
void
init
(CommonConnectorConfig connectorConfig) name()
private Optional<SignalRecord>
processSignal
(org.apache.kafka.clients.consumer.ConsumerRecord<String, String> record) read()
void
void
seek
(long signalOffset)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
CONFIGURATION_FIELD_PREFIX_STRING
- See Also:
-
CONSUMER_PREFIX
- See Also:
-
CHANNEL_OFFSET
- See Also:
-
CHANNEL_NAME
- See Also:
-
topicName
-
connectorName
-
pollTimeoutMs
-
signalsConsumer
-
SIGNAL_TOPIC
-
BOOTSTRAP_SERVERS
-
SIGNAL_POLL_TIMEOUT_MS
-
GROUP_ID
-
-
Constructor Details
-
KafkaSignalChannel
public KafkaSignalChannel()
-
-
Method Details
-
processSignal
private Optional<SignalRecord> processSignal(org.apache.kafka.clients.consumer.ConsumerRecord<String, String> record) -
parseJson
-
seek
public void seek(long signalOffset) -
name
- Specified by:
name
in interfaceSignalChannelReader
-
init
- Specified by:
init
in interfaceSignalChannelReader
-
reset
- Specified by:
reset
in interfaceSignalChannelReader
-
buildKafkaConfiguration
-
read
- Specified by:
read
in interfaceSignalChannelReader
-
close
public void close()- Specified by:
close
in interfaceSignalChannelReader
-