New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Camel TypeConverterLoader in native mode #3857
Comments
What's the actual issue you are facing? Camel Quarkus automatically discovers all |
I get the error below in native mode; it is ok in JVM mode. I have uploaded a reproducer. The Readme contains the RabbitMQ payload 2022-06-19 10:20:39,179 WARN [org.apa.cam.com.rab.RabbitMQConsumer] (Camel (camel-1) thread #3 - rabbitmq://IN.GEN.TPG.PAYMENTS) Error processing exchange. Exchange[3A9EFDB8E981AD2-0000000000000000]. Caused by: [org.apache.camel.component.bean.ParameterBindingException - Error during parameter binding on method: io.example.dto.AcknowledgementRequest io.example.components.RequestHandler.handleAcknowledgeRequest(io.example.dto.Acknowledgement) at parameter #0 with type: class io.example.dto.Acknowledgement with value type: class java.lang.String and value: {
"receiptNumber": "123456789",
"statusCode": 111,
"tokenService": 0,
"amount": 10.0,
"statusDescription": "A success",
"beepTransactionId": 123123123,
"payerTransactionId": "some random string"
}
]: org.apache.camel.component.bean.ParameterBindingException: Error during parameter binding on method: io.example.dto.AcknowledgementRequest io.example.components.RequestHandler.handleAcknowledgeRequest(io.example.dto.Acknowledgement) at parameter #0 with type: class io.example.dto.Acknowledgement with value type: class java.lang.String and value: {
"receiptNumber": "123456789",
"statusCode": 111,
"tokenService": 0,
"amount": 10.0,
"statusDescription": "A success",
"beepTransactionId": 123123123,
"payerTransactionId": "some random string"
}
at org.apache.camel.component.bean.MethodInfo$ParameterExpression.evaluateParameterValue(MethodInfo.java:723)
at org.apache.camel.component.bean.MethodInfo$ParameterExpression.evaluateParameterExpressions(MethodInfo.java:619)
at org.apache.camel.component.bean.MethodInfo$ParameterExpression.evaluate(MethodInfo.java:592)
at org.apache.camel.component.bean.MethodInfo.initializeArguments(MethodInfo.java:263)
at org.apache.camel.component.bean.MethodInfo.createMethodInvocation(MethodInfo.java:271)
at org.apache.camel.component.bean.BeanInfo.createInvocation(BeanInfo.java:277)
at org.apache.camel.component.bean.AbstractBeanProcessor.process(AbstractBeanProcessor.java:126)
at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:81)
at org.apache.camel.component.bean.BeanProducer.process(BeanProducer.java:41)
at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:172)
at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:471)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:193)
at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:64)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:184)
at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:399)
at org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:83)
at org.apache.camel.support.AsyncProcessorSupport.process(AsyncProcessorSupport.java:41)
at org.apache.camel.component.rabbitmq.RabbitConsumer.doHandleDelivery(RabbitConsumer.java:113)
at org.apache.camel.component.rabbitmq.RabbitConsumer.handleDelivery(RabbitConsumer.java:88)
at com.rabbitmq.client.impl.ConsumerDispatcher$5.run(ConsumerDispatcher.java:149)
at com.rabbitmq.client.impl.ConsumerWorkService$WorkPoolRunnable.run(ConsumerWorkService.java:104)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.lang.Thread.run(Thread.java:833)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:597)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:194)
Caused by: org.apache.camel.NoTypeConversionAvailableException: No type converter available to convert from type: java.lang.String to the required type: io.example.dto.Acknowledgement
at org.apache.camel.impl.converter.CoreTypeConverterRegistry.mandatoryConvertTo(CoreTypeConverterRegistry.java:274)
at org.apache.camel.component.bean.MethodInfo$ParameterExpression.evaluateParameterValue(MethodInfo.java:712)
... 25 more
|
Add annotation |
This did the trick. Closing issue |
Camel Quarkus:
2.9.2.Final
Quarkus:
2.9.2.Final
JDK:
17
Extension:
camel-quarkus-jackson
When quarkus is built in native mode, the Service Locator for
Camel TypeConverterLoader
is not loaded. Below is myapplication.properties
The class
JacksonTypeConverters
is also registered for reflection insrc/main/resources/reflection-config.json
The service registration of
camel-jackson-3.16.0.jar/META-INF/services/org/apache/camel/TypeConverterLoader
is not happeningThe text was updated successfully, but these errors were encountered: