Packages

package jsonpayload

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. trait ConfluentJsonPayloadDeserializer extends AnyRef

    ConfluentJsonPayloadDeserializer converts json payload to avro.

    ConfluentJsonPayloadDeserializer converts json payload to avro. Used with schemas WITHOUT logical types due to avro conversion limitations.

    It uses avro schema which has impact on json format requirements: 1. Avro schema is used to deserialize json payload to GenericRecord or SpecificRecord. Values should be encoded with avro conversions (see example below). 2. Allegro json2avro decoder is used instead of confluent decoder. Decoded json should have flattened object structure (see example below).

    TODO: Add support to json payloads specified in json schema

    Example object with logical types (serialized with BestJsonEffortEncoder, see [GeneratedAvroClassWithLogicalTypes]): { "text" : "lorem ipsum", "dateTime" : "2020-01-02T03:14:15Z", "date" : "2020-01-02", "time" : "03:14:15" }

    Example of json readable by confluent decoder (see [ConfluentAvroMessageFormatter]): { "text" : "lorem ipsum", "dateTime" : { "long" : 1577934855000 }, "date" : { "int" : 18263 }, "time" : { "int" : 11655000 } }

    The same example to be used with allegro json2avro decoder: { "text" : "lorem ipsum", "dateTime" : 1577934855000, "date" : 18263, "time" : 11655000 }

  2. class ConfluentJsonPayloadSerializerFactory extends KafkaSchemaBasedValueSerializationSchemaFactory
  3. class ConfluentKeyValueKafkaJsonDeserializerFactory extends KafkaSchemaBasedKeyValueDeserializationSchemaFactory with ConfluentJsonPayloadDeserializer
  4. class JsonPayloadKafkaSerializer extends ConfluentKafkaAvroSerializer
  5. class JsonPayloadToAvroConverter extends AnyRef

Value Members

  1. object JsonPayloadToAvroConverter

Ungrouped