Class SchemaMessageReader<T>

java.lang.Object
io.confluent.kafka.formatter.SchemaMessageReader<T>
All Implemented Interfaces:
Closeable, AutoCloseable, org.apache.kafka.common.Configurable, org.apache.kafka.tools.api.RecordReader

public abstract class SchemaMessageReader<T> extends Object implements org.apache.kafka.tools.api.RecordReader
  • Field Details

  • Constructor Details

    • SchemaMessageReader

      public SchemaMessageReader()
      Constructor needed by kafka console producer.
    • SchemaMessageReader

      public SchemaMessageReader(String url, ParsedSchema keySchema, ParsedSchema valueSchema, String topic, boolean parseKey, boolean normalizeSchema, boolean autoRegister, boolean useLatest)
      For testing only.
  • Method Details

    • createSerializer

      protected abstract SchemaMessageSerializer<T> createSerializer(org.apache.kafka.common.serialization.Serializer keySerializer)
    • configure

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

      public void init(Properties props)
    • parseSchema

      protected ParsedSchema parseSchema(SchemaRegistryClient schemaRegistry, String schema, List<SchemaReference> references)
    • readRecords

      public Iterator<org.apache.kafka.clients.producer.ProducerRecord<byte[],byte[]>> readRecords(InputStream inputStream)
      Specified by:
      readRecords in interface org.apache.kafka.tools.api.RecordReader
    • readFrom

      protected abstract T readFrom(String jsonString, ParsedSchema schema)
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in interface org.apache.kafka.tools.api.RecordReader
    • getProvider

      protected abstract SchemaProvider getProvider()