Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-14263

Generate configurers for types annotated with @UriParams

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.0.1, 3.1.0
    • Component/s: None
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      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

            Activity

              People

              • Assignee:
                davsclaus Claus Ibsen
                Reporter:
                ppalaga Peter Palaga
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: