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
FieldsModifier and TypeFieldDescriptionprivate static final io.debezium.config.Field.Setstatic final io.debezium.config.Fieldstatic final Stringstatic final Stringstatic final Stringprivate Stringprivate static final Stringstatic final io.debezium.config.Fieldprivate static final org.slf4j.Loggerprivate Durationstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldprivate String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static io.debezium.config.ConfigurationbuildKafkaConfiguration(io.debezium.config.Configuration signalConfig) voidclose()voidinit(CommonConnectorConfig connectorConfig) name()private Optional<SignalRecord> processSignal(org.apache.kafka.clients.consumer.ConsumerRecord<String, String> record) read()voidseek(long signalOffset) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.debezium.pipeline.signal.channels.SignalChannelReader
reset
-
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
public static final io.debezium.config.Field SIGNAL_TOPIC -
BOOTSTRAP_SERVERS
public static final io.debezium.config.Field BOOTSTRAP_SERVERS -
SIGNAL_POLL_TIMEOUT_MS
public static final io.debezium.config.Field SIGNAL_POLL_TIMEOUT_MS -
GROUP_ID
public static final io.debezium.config.Field GROUP_ID -
ALL_FIELDS
private static final io.debezium.config.Field.Set ALL_FIELDS
-
-
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:
namein interfaceSignalChannelReader
-
init
- Specified by:
initin interfaceSignalChannelReader
-
buildKafkaConfiguration
private static io.debezium.config.Configuration buildKafkaConfiguration(io.debezium.config.Configuration signalConfig) -
read
- Specified by:
readin interfaceSignalChannelReader
-
close
public void close()- Specified by:
closein interfaceSignalChannelReader
-