Class ByteBufferConverter

  • All Implemented Interfaces:
    Closeable, AutoCloseable, org.apache.kafka.common.Configurable, org.apache.kafka.connect.storage.Converter, org.apache.kafka.connect.storage.HeaderConverter

    public class ByteBufferConverter
    extends Object
    implements org.apache.kafka.connect.storage.Converter, org.apache.kafka.connect.storage.HeaderConverter
    A customized value converter to allow avro message to be delivered as it is (byte[]) to kafka, this is used for outbox pattern where payload is serialized by KafkaAvroSerializer, the consumer need to get the deseralized payload. To enabled the converter in a connector, the following value need to be specified "value.converter": "io.debezium.converters.ByteBufferConverter"
    Author:
    Yang Yang
    • Field Detail

      • LOGGER

        private static final org.slf4j.Logger LOGGER
      • delegateConverter

        private org.apache.kafka.connect.storage.Converter delegateConverter
      • CONFIG_DEF

        private static final org.apache.kafka.common.config.ConfigDef CONFIG_DEF
    • Constructor Detail

      • ByteBufferConverter

        public ByteBufferConverter()
    • Method Detail

      • config

        public org.apache.kafka.common.config.ConfigDef config()
        Specified by:
        config in interface org.apache.kafka.connect.storage.HeaderConverter
      • configure

        public void configure​(Map<String,​?> configs)
        Specified by:
        configure in interface org.apache.kafka.common.Configurable
      • configure

        public void configure​(Map<String,​?> configs,
                              boolean isKey)
        Specified by:
        configure in interface org.apache.kafka.connect.storage.Converter
      • fromConnectData

        public byte[] fromConnectData​(String topic,
                                      org.apache.kafka.connect.data.Schema schema,
                                      Object value)
        Specified by:
        fromConnectData in interface org.apache.kafka.connect.storage.Converter
      • assertDataException

        private void assertDataException​(String name,
                                         Object type)
      • toConnectData

        public org.apache.kafka.connect.data.SchemaAndValue toConnectData​(String topic,
                                                                          byte[] value)
        Specified by:
        toConnectData in interface org.apache.kafka.connect.storage.Converter
      • fromConnectHeader

        public byte[] fromConnectHeader​(String topic,
                                        String headerKey,
                                        org.apache.kafka.connect.data.Schema schema,
                                        Object value)
        Specified by:
        fromConnectHeader in interface org.apache.kafka.connect.storage.HeaderConverter
      • toConnectHeader

        public org.apache.kafka.connect.data.SchemaAndValue toConnectHeader​(String topic,
                                                                            String headerKey,
                                                                            byte[] value)
        Specified by:
        toConnectHeader in interface org.apache.kafka.connect.storage.HeaderConverter