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
Modifier and TypeFieldDescriptionstatic final Field
static final String
static final String
static final String
private String
private static final String
static final Field
private static final org.slf4j.Logger
private Duration
static final Field
static final Field
static final Field
private String
-
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
-
SIGNAL_CONSUMER_OFFSET_COMMIT_ENABLED
-
-
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
-