Проблема при автоматической десериализации нескольких уровней вложенных POJO с перечислением и полями, присутствующими в потоках Kafka

У меня возникает эта проблема при автоматической десериализации POJO в потоках kafka, все поля после enum становятся нулевыми. Может кто-нибудь посоветовать, как с этим справиться. Аннотирование поля в перечислении с помощью @JsonValue, кажется, периодически решает его, но мы получаем проблемы на других фронтах, поскольку значения не идентифицируются напрямую

      **POJO 1**
public class ABC {

@NotNull
private EventType eventType; // ENUM

@Valid
@NotNull
private Payload payload; // Another POJO

private String id;
private int level = 0;
}
//**enum**
@JsonFormat(shape=JsonFormat.Shape.Object)
public enum EventType{
Event_A(),
Event_B();
@Getter
private final String type;
@Hidden
@Getter
private final String name;
@Hidden
@Getter
private final Map<String,String> location;
@Hidden
@Getter
private final POJO4[] keyType;

//constructor to initialise
public EventType(....) {}

@JsonCreator
public static EventType forType( @JsonProperty("type") String type ) {
return EventType.valueOf(type);
}
}
**POJO2**
public class DEF {
private ABC abc;
private DateTime time;
}

**POJO3**
public class KafkaStream {
private DEF def;
}

// send message class 
public class SendKafka {
streamBridge.send(); 
}

//KafkaStreamFunction
public Function<KStream<String,KafkaClass>,Kstream<String,KafkaClass>> process() {
// HERE the values of payload,id,level come as null( not able to auto deserialise properly)
}

0 ответов

Другие вопросы по тегам