Он сообщает о следующей ошибке:
Код: Выделить всё
Error loading class com.aleatory.StormEvents.Handler: org/apache/avro/io/Decoder: java.lang.NoClassDefFoundError
java.lang.NoClassDefFoundError: org/apache/avro/io/Decoder
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.avro.io.Decoder
at java.base/java.net.URLClassLoader.findClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
Код: Выделить всё
public class LambdaHandler implements RequestHandler {
@Override
public String handleRequest(KafkaEvent event, Context context) {
log.info("Event input: {}", event);
event.getRecords().entrySet().stream()
.flatMap(recordData -> recordData.getValue().stream())
.forEach(kafkaEventRecord -> {
try {
String avroData = new String(Base64.getDecoder().decode(kafkaEventRecord.getValue()));
EventComandControl avro = deserializeAvro(avroData);
ManageControl domainObject = convertToDomainObject(avro);
useCase.process(domainObject);
} catch (IOException e) {
log.error("Error to process message Avro", e);
}
});
return "Ok!";
}
private EventComandControl deserializeAvro(String avro) throws IOException {
DatumReader reader = new SpecificDatumReader(EventComandControl.class);
JsonDecoder decoder = DecoderFactory.get().jsonDecoder(EventComandControl.getClassSchema(), avro);
return reader.read(null, decoder);
}
Код: Выделить всё
org.apache.avro
avro
1.11.1
org.apache.avro
avro-tools
1.10.2
Подробнее здесь: https://stackoverflow.com/questions/781 ... ndler-java
Мобильная версия