Description
Components such as Dozer, Telegram and others use @UriParams annotated Configuration classes to define the URI parameters. These classes are currently not covered by the generated configurer code and hence they need to get registered for reflection in Quarkus native mode.
This is a sample stack trace how the DoserConfiguration is currently accessed reflectively:
org.apache.camel.component.dozer.DozerConfiguration.setTargetModel(DozerConfiguration.java:94) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.camel.support.IntrospectionSupport.setProperty(IntrospectionSupport.java:715) at org.apache.camel.impl.engine.DefaultBeanIntrospection.setProperty(DefaultBeanIntrospection.java:157) at org.apache.camel.support.PropertyBindingSupport.setProperty(PropertyBindingSupport.java:696) at org.apache.camel.support.PropertyBindingSupport.bindProperty(PropertyBindingSupport.java:550) at org.apache.camel.support.PropertyBindingSupport.doBindProperties(PropertyBindingSupport.java:532) at org.apache.camel.support.PropertyBindingSupport.access$000(PropertyBindingSupport.java:61) at org.apache.camel.support.PropertyBindingSupport$Builder.bind(PropertyBindingSupport.java:249) at org.apache.camel.support.DefaultComponent.setProperties(DefaultComponent.java:492) at org.apache.camel.support.DefaultComponent.setProperties(DefaultComponent.java:461) at org.apache.camel.component.dozer.DozerComponent.createEndpoint(DozerComponent.java:44) at org.apache.camel.support.DefaultComponent.createEndpoint(DefaultComponent.java:240) at org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:755) at org.apache.camel.impl.engine.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:127) at org.apache.camel.reifier.SendReifier.resolveEndpoint(SendReifier.java:41) at org.apache.camel.reifier.SendReifier.createProcessor(SendReifier.java:34) at org.apache.camel.reifier.ProcessorReifier.makeProcessorImpl(ProcessorReifier.java:571) at org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:537) at org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:250) at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:384) at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:108) at org.apache.camel.quarkus.core.FastModel.start(FastModel.java:61) at org.apache.camel.quarkus.core.BaseModel.startRoute(BaseModel.java:327) at org.apache.camel.quarkus.core.BaseModel.startRouteDefinitions(BaseModel.java:320) at org.apache.camel.quarkus.core.BaseModel.startRouteDefinitions(BaseModel.java:299) at org.apache.camel.quarkus.core.FastCamelContext.startRouteDefinitions(FastCamelContext.java:139) at org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:2597) at org.apache.camel.impl.engine.AbstractCamelContext.lambda$doStart$2(AbstractCamelContext.java:2445) at org.apache.camel.impl.engine.AbstractCamelContext.doWithDefinedClassLoader(AbstractCamelContext.java:2462) at org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2443) at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:117) at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2352) at org.apache.camel.quarkus.core.CamelMain.doStart(CamelMain.java:47) at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:117) at org.apache.camel.quarkus.core.CamelMainRecorder.start(CamelMainRecorder.java:79) at io.quarkus.deployment.steps.Main$start38.deploy_0(Main$start38.zig:97) at io.quarkus.deployment.steps.Main$start38.deploy(Main$start38.zig:36) at io.quarkus.runner.ApplicationImpl.doStart(ApplicationImpl.zig:161) at io.quarkus.runtime.Application.start(Application.java:94) at io.quarkus.runner.RuntimeRunner.run(RuntimeRunner.java:143) at io.quarkus.test.junit.QuarkusTestExtension.doJavaStart(QuarkusTestExtension.java:248) at io.quarkus.test.junit.QuarkusTestExtension.createTestInstance(QuarkusTestExtension.java:393) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstanceFactory(ClassBasedTestDescriptor.java:285) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateTestClass(ClassBasedTestDescriptor.java:275) at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateTestClass(ClassTestDescriptor.java:77) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:258) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$2(ClassBasedTestDescriptor.java:252) at java.util.Optional.orElseGet(Optional.java:267) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$3(ClassBasedTestDescriptor.java:251) at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:29) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$1(NodeTestTask.java:107) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:107) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:75) at java.util.ArrayList.forEach(ArrayList.java:1257) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) at java.util.ArrayList.forEach(ArrayList.java:1257) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:229) at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:197) at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:211) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:191) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:154) at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:127) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138) at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451)
Attachments
Issue Links
- is related to
-
CAMEL-14272 Configuring endpoint with bean reference should fail if no such bean found
- Resolved
- relates to
-
CAMEL-14274 camel-crypto-cms - Deprecate this component as its hard to maintain
- Resolved