public class GreetingFunction {
@Funq
public String myFunqyGreeting(TwitterMessage twitterMessage) {
return "Hello ";
}
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TwitterMessage {
String username;
String tweet;
Long timestamp;
}
I have a custom mapper:
public class ObjectMapperConfiguration {
@Singleton
ObjectMapper objectMapper(Instance<ObjectMapperCustomizer> customizers) {
// Your own `ObjectMapper` or one provided by another library
ObjectMapper mapper = new AvroMapper();
// Apply customizations (includes customizations from Quarkus)
for (ObjectMapperCustomizer customizer : customizers) {
customizer.customize(mapper);
}
return mapper;
}
}
Error:
2023-01-28 21:25:20,818 ERROR [io.qua.ama.lam.run.AbstractLambdaPollLoop] (Lambda Thread (DEVELOPMENT)) Failed to run lambda (DEVELOPMENT): com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'twitter': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (sun.net.www.protocol.http.HttpURLConnection$HttpInputStream); line: 1, column: 9]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:2418)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:759)
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._reportInvalidToken(UTF8StreamJsonParser.java:3693)
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._reportInvalidToken(UTF8StreamJsonParser.java:3666)
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._matchToken2(UTF8StreamJsonParser.java:3007)
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._matchTrue(UTF8StreamJsonParser.java:2941)
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._nextTokenNotInObject(UTF8StreamJsonParser.java:878)
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextToken(UTF8StreamJsonParser.java:793)
at com.fasterxml.jackson.databind.ObjectReader._initForReading(ObjectReader.java:357)
at com.fasterxml.jackson.databind.ObjectReader._bindAndClose(ObjectReader.java:2095)
at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1481)
at io.quarkus.amazon.lambda.runtime.JacksonInputReader.readValue(JacksonInputReader.java:17)
at io.quarkus.amazon.lambda.runtime.AbstractLambdaPollLoop$1.run(AbstractLambdaPollLoop.java:135)
at java.base/java.lang.Thread.run(Thread.java:833)
How to Reproduce?
No response
Output of uname -a or ver
21.4.0 Darwin Kernel Version 21.4.0: Mon Feb 21 20:35:58 PST 2022; root:xnu-8020.101.4~2/RELEASE_ARM64_T6000 arm64
Output of java -version
17.0.4+8-jvmci-22.2-b06
GraalVM version (if different from Java)
No response
Quarkus version or git rev
2.16.0.Final
Build tool (ie. output of mvnw --version or gradlew --version)
Maven 3.8.6
Additional information
I'm working with AWS Lambda. In this lambda is configured trigger on Apache Kafka messages. Messages are getting in avro format https://avro.apache.org/. I want to receive messages in Lambda handler in Quarkus.
Describe the bug
I have a simple handler:
I have a custom mapper:
where AvroMapper() got from pom.xml dependency:
according to this: https://github.com/FasterXML/jackson-dataformats-binary/tree/master/avro#creating-objectmapper
I'm trying to send to it request with avro input data:
Example of twitter.avro you can get from https://github.com/miguno/avro-cli-examples/blob/master/twitter.avro
Expected behavior
Endpoint works without error
Actual behavior
Error: 2023-01-28 21:25:20,818 ERROR [io.qua.ama.lam.run.AbstractLambdaPollLoop] (Lambda Thread (DEVELOPMENT)) Failed to run lambda (DEVELOPMENT): com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'twitter': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false') at [Source: (sun.net.www.protocol.http.HttpURLConnection$HttpInputStream); line: 1, column: 9] at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:2418) at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:759) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._reportInvalidToken(UTF8StreamJsonParser.java:3693) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._reportInvalidToken(UTF8StreamJsonParser.java:3666) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._matchToken2(UTF8StreamJsonParser.java:3007) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._matchTrue(UTF8StreamJsonParser.java:2941) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._nextTokenNotInObject(UTF8StreamJsonParser.java:878) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextToken(UTF8StreamJsonParser.java:793) at com.fasterxml.jackson.databind.ObjectReader._initForReading(ObjectReader.java:357) at com.fasterxml.jackson.databind.ObjectReader._bindAndClose(ObjectReader.java:2095) at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1481) at io.quarkus.amazon.lambda.runtime.JacksonInputReader.readValue(JacksonInputReader.java:17) at io.quarkus.amazon.lambda.runtime.AbstractLambdaPollLoop$1.run(AbstractLambdaPollLoop.java:135) at java.base/java.lang.Thread.run(Thread.java:833)
How to Reproduce?
No response
Output of
uname -a
orver
21.4.0 Darwin Kernel Version 21.4.0: Mon Feb 21 20:35:58 PST 2022; root:xnu-8020.101.4~2/RELEASE_ARM64_T6000 arm64
Output of
java -version
17.0.4+8-jvmci-22.2-b06
GraalVM version (if different from Java)
No response
Quarkus version or git rev
2.16.0.Final
Build tool (ie. output of
mvnw --version
orgradlew --version
)Maven 3.8.6
Additional information
I'm working with AWS Lambda. In this lambda is configured trigger on Apache Kafka messages. Messages are getting in avro format https://avro.apache.org/. I want to receive messages in Lambda handler in Quarkus.