Package io.debezium.connector.postgresql
Class LogicalDecodingMessageMonitor
- java.lang.Object
-
- io.debezium.connector.postgresql.LogicalDecodingMessageMonitor
-
public class LogicalDecodingMessageMonitor extends Object
The class receivesLogicalDecodingMessageevents and delivers the event to the dedicated topic.Every
MESSAGEevent has itspayloadblock enriched to contain- boolean that signifies if the message is transactional
- message prefix
- message content that is converted based on the connector's configured
binary.handling.mode
- Author:
- Lairen Hightower
-
-
Field Summary
Fields Modifier and Type Field Description private Base64.Encoderbase64Encoderprivate CommonConnectorConfig.BinaryHandlingModebinaryModeprivate org.apache.kafka.connect.data.SchemablockSchemastatic StringDEBEZIUM_LOGICAL_DECODING_MESSAGE_CONTENT_KEYstatic StringDEBEZIUM_LOGICAL_DECODING_MESSAGE_KEYstatic StringDEBEZIUM_LOGICAL_DECODING_MESSAGE_PREFIX_KEYprivate org.apache.kafka.connect.data.SchemakeySchemaThe key schema; a struct like this:static StringLOGICAL_DECODING_MESSAGE_TOPIC_SUFFIXprivate SchemaNameAdjusterschemaNameAdjusterprivate BlockingConsumer<org.apache.kafka.connect.source.SourceRecord>senderprivate StringtopicNameprivate org.apache.kafka.connect.data.SchemavalueSchema
-
Constructor Summary
Constructors Constructor Description LogicalDecodingMessageMonitor(PostgresConnectorConfig connectorConfig, BlockingConsumer<org.apache.kafka.connect.source.SourceRecord> sender)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private ObjectconvertContent(byte[] content)voidlogicalDecodingMessageEvent(Partition partition, OffsetContext offsetContext, Long timestamp, LogicalDecodingMessage message)
-
-
-
Field Detail
-
LOGICAL_DECODING_MESSAGE_TOPIC_SUFFIX
public static final String LOGICAL_DECODING_MESSAGE_TOPIC_SUFFIX
- See Also:
- Constant Field Values
-
DEBEZIUM_LOGICAL_DECODING_MESSAGE_KEY
public static final String DEBEZIUM_LOGICAL_DECODING_MESSAGE_KEY
- See Also:
- Constant Field Values
-
DEBEZIUM_LOGICAL_DECODING_MESSAGE_PREFIX_KEY
public static final String DEBEZIUM_LOGICAL_DECODING_MESSAGE_PREFIX_KEY
- See Also:
- Constant Field Values
-
DEBEZIUM_LOGICAL_DECODING_MESSAGE_CONTENT_KEY
public static final String DEBEZIUM_LOGICAL_DECODING_MESSAGE_CONTENT_KEY
- See Also:
- Constant Field Values
-
schemaNameAdjuster
private final SchemaNameAdjuster schemaNameAdjuster
-
sender
private final BlockingConsumer<org.apache.kafka.connect.source.SourceRecord> sender
-
topicName
private final String topicName
-
binaryMode
private final CommonConnectorConfig.BinaryHandlingMode binaryMode
-
base64Encoder
private final Base64.Encoder base64Encoder
-
keySchema
private final org.apache.kafka.connect.data.Schema keySchema
The key schema; a struct like this:{ "prefix" : "my-prefix" }Using a struct over the plain prefix as a string for better evolvability down the road.
-
blockSchema
private final org.apache.kafka.connect.data.Schema blockSchema
-
valueSchema
private final org.apache.kafka.connect.data.Schema valueSchema
-
-
Constructor Detail
-
LogicalDecodingMessageMonitor
public LogicalDecodingMessageMonitor(PostgresConnectorConfig connectorConfig, BlockingConsumer<org.apache.kafka.connect.source.SourceRecord> sender)
-
-
Method Detail
-
logicalDecodingMessageEvent
public void logicalDecodingMessageEvent(Partition partition, OffsetContext offsetContext, Long timestamp, LogicalDecodingMessage message) throws InterruptedException
- Throws:
InterruptedException
-
convertContent
private Object convertContent(byte[] content)
-
-