pl.touk.nussknacker.engine.schemedkafka.schemaregistry.confluent.serialization.jsonpayload
ConfluentJsonPayloadDeserializer
trait ConfluentJsonPayloadDeserializer extends AnyRef
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 }
- Alphabetic
- By Inheritance
- ConfluentJsonPayloadDeserializer
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
def
createDeserializer[T](schemaRegistryClientFactory: ConfluentSchemaRegistryClientFactory, kafkaConfig: KafkaConfig, schemaDataOpt: Option[RuntimeSchemaData[ParsedSchema]], isKey: Boolean)(implicit arg0: ClassTag[T]): Deserializer[T]
- Attributes
- protected
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated @deprecated
- Deprecated
(Since version ) see corresponding Javadoc for more information.