Class DecodeLogicalDecodingMessageContent<R extends org.apache.kafka.connect.connector.ConnectRecord<R>>
java.lang.Object
io.debezium.connector.postgresql.transforms.DecodeLogicalDecodingMessageContent<R>
- All Implemented Interfaces:
Closeable,AutoCloseable,org.apache.kafka.common.Configurable,org.apache.kafka.connect.components.Versioned,org.apache.kafka.connect.transforms.Transformation<R>
public class DecodeLogicalDecodingMessageContent<R extends org.apache.kafka.connect.connector.ConnectRecord<R>>
extends Object
implements org.apache.kafka.connect.transforms.Transformation<R>, org.apache.kafka.connect.components.Versioned
The transform converts binary content of a logical decoding message to a structured form.
One of the possible usages is to apply the transform before
EventRouter so that the transform
will produce a record suitable for the Outbox SMT.- Author:
- Roman Kudryashov
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Fieldprivate JsonSchemaDataprivate static final org.slf4j.Loggerprivate BoundedConcurrentHashMap<org.apache.kafka.connect.data.Schema, org.apache.kafka.connect.data.Schema> private com.fasterxml.jackson.databind.ObjectMapper -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()org.apache.kafka.common.config.ConfigDefconfig()voidprivate org.apache.kafka.connect.data.StructconvertLogicalDecodingMessageContentBytesToStruct(byte[] logicalDecodingMessageContent) private org.apache.kafka.connect.data.StructgetLogicalDecodingMessageContent(org.apache.kafka.connect.data.Struct valueStruct) private org.apache.kafka.connect.data.SchemaBuildergetSchemaBuilder(org.apache.kafka.connect.data.Schema logicalDecodingMessageContentSchema, org.apache.kafka.connect.data.Schema debeziumEventSchema) private org.apache.kafka.connect.data.StructgetUpdatedValue(org.apache.kafka.connect.data.Schema updatedValueSchema, org.apache.kafka.connect.data.Struct originalValue, org.apache.kafka.connect.data.Struct logicalDecodingMessageContent) private org.apache.kafka.connect.data.SchemagetUpdatedValueSchema(org.apache.kafka.connect.data.Schema logicalDecodingMessageContentSchema, org.apache.kafka.connect.data.Schema debeziumEventSchema) private com.fasterxml.jackson.databind.JsonNodeparseLogicalDecodingMessageContentJsonString(String logicalDecodingMessageContentJsonString) private Rversion()
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
FIELDS_NULL_INCLUDE
-
objectMapper
private com.fasterxml.jackson.databind.ObjectMapper objectMapper -
jsonSchemaData
-
logicalDecodingMessageContentSchemaCache
private BoundedConcurrentHashMap<org.apache.kafka.connect.data.Schema,org.apache.kafka.connect.data.Schema> logicalDecodingMessageContentSchemaCache
-
-
Constructor Details
-
DecodeLogicalDecodingMessageContent
public DecodeLogicalDecodingMessageContent()
-
-
Method Details
-
config
public org.apache.kafka.common.config.ConfigDef config() -
configure
- Specified by:
configurein interfaceorg.apache.kafka.common.Configurable
-
apply
-
getLogicalDecodingMessageContent
private org.apache.kafka.connect.data.Struct getLogicalDecodingMessageContent(org.apache.kafka.connect.data.Struct valueStruct) -
convertLogicalDecodingMessageContentBytesToStruct
private org.apache.kafka.connect.data.Struct convertLogicalDecodingMessageContentBytesToStruct(byte[] logicalDecodingMessageContent) -
parseLogicalDecodingMessageContentJsonString
private com.fasterxml.jackson.databind.JsonNode parseLogicalDecodingMessageContentJsonString(String logicalDecodingMessageContentJsonString) -
removeLogicalDecodingMessageContentField
-
getUpdatedValueSchema
private org.apache.kafka.connect.data.Schema getUpdatedValueSchema(org.apache.kafka.connect.data.Schema logicalDecodingMessageContentSchema, org.apache.kafka.connect.data.Schema debeziumEventSchema) -
getSchemaBuilder
private org.apache.kafka.connect.data.SchemaBuilder getSchemaBuilder(org.apache.kafka.connect.data.Schema logicalDecodingMessageContentSchema, org.apache.kafka.connect.data.Schema debeziumEventSchema) -
getUpdatedValue
private org.apache.kafka.connect.data.Struct getUpdatedValue(org.apache.kafka.connect.data.Schema updatedValueSchema, org.apache.kafka.connect.data.Struct originalValue, org.apache.kafka.connect.data.Struct logicalDecodingMessageContent) -
close
public void close() -
version
- Specified by:
versionin interfaceorg.apache.kafka.connect.components.Versioned
-