You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by GitBox <gi...@apache.org> on 2019/10/12 08:51:58 UTC

[GitHub] [camel-quarkus] coolbeevip opened a new issue #264: About component REST compatibility issues

coolbeevip opened a new issue #264: About component REST compatibility issues
URL: https://github.com/apache/camel-quarkus/issues/264
 
 
   I recently studied Camel's Rest DSL and want to use it in Quarkus and I already know that the corresponding camel-quarkus component is platform-http https://github.com/apache/camel-quarkus/issues/217 . But it seems that the APIs of the two components are different.
   
   quarkus version 0.23.2
   camel-quarkus version 0.2.1-SNAPSHOT
   
   I tried to use the code in camel-quarkus, but I am prompted with an error.
   https://camel.apache.org/manual/latest/rest-dsl.html
   ```java
       rest("/say")
           .get("/hello").to("direct:hello")
           .get("/bye").consumes("application/json").to("direct:bye");
   
       from("direct:hello")
           .transform().constant("Hello World");
       from("direct:bye")
           .transform().constant("Bye World");
   ```
   
   stack trace of an exception
   ```
   2019-10-12 16:14:12,397 ERROR [io.qua.dev.DevModeMain] (Timer-0) Failed to start quarkus: java.lang.RuntimeException: Failed to start quarkus
           at io.quarkus.runner.ApplicationImpl2.doStart(ApplicationImpl2.zig:475)
           at io.quarkus.runtime.Application.start(Application.java:93)
           at io.quarkus.runner.RuntimeRunner.run(RuntimeRunner.java:135)
           at io.quarkus.dev.DevModeMain.doStart(DevModeMain.java:180)
           at io.quarkus.dev.DevModeMain.restartApp(DevModeMain.java:195)
           at io.quarkus.dev.RuntimeUpdatesProcessor.doScan(RuntimeUpdatesProcessor.java:116)
           at org.apache.camel.quarkus.core.deployment.devmode.CamelHotReplacementSetup$1.run(CamelHotReplacementSetup.java:36)
           at java.util.TimerThread.mainLoop(Timer.java:555)
           at java.util.TimerThread.run(Timer.java:505)
   Caused by: java.lang.RuntimeException: org.apache.camel.FailedToCreateRouteException: Failed to create route route10: Route(route10)[From[direct:hello] -> [Transform[org.apache.c... because of Failed to resolve endpoint: direct://hello due to: No component found with scheme: direct
           at org.apache.camel.quarkus.core.CamelMainRecorder.start(CamelMainRecorder.java:115)
           at io.quarkus.deployment.steps.Main$start71.deploy_0(Main$start71.zig:77)
           at io.quarkus.deployment.steps.Main$start71.deploy(Main$start71.zig:36)
           at io.quarkus.runner.ApplicationImpl2.doStart(ApplicationImpl2.zig:453)
           ... 8 more
   Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route route10: Route(route10)[From[direct:hello] -> [Transform[org.apache.c... because of Failed to resolve endpoint: direct://hello due to: No component found with scheme: direct
           at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:114)
           at org.apache.camel.quarkus.core.FastModel.start(FastModel.java:59)
           at org.apache.camel.impl.DefaultModel.startRoute(DefaultModel.java:320)
           at org.apache.camel.impl.DefaultModel.startRouteDefinitions(DefaultModel.java:313)
           at org.apache.camel.impl.DefaultModel.startRouteDefinitions(DefaultModel.java:292)
           at org.apache.camel.quarkus.core.FastCamelContext.startRouteDefinitions(FastCamelContext.java:135)
           at org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:2590)
           at org.apache.camel.impl.engine.AbstractCamelContext.lambda$doStart$2(AbstractCamelContext.java:2438)
           at org.apache.camel.impl.engine.AbstractCamelContext.doWithDefinedClassLoader(AbstractCamelContext.java:2455)
           at org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2436)
           at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:99)
           at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2345)
           at org.apache.camel.quarkus.core.CamelMain.doStart(CamelMain.java:51)
           at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:99)
           at org.apache.camel.quarkus.core.CamelMainRecorder.start(CamelMainRecorder.java:113)
           ... 11 more
   Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: direct://hello due to: No component found with scheme: direct
           at org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:807)
           at org.apache.camel.support.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:55)
           at org.apache.camel.impl.engine.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:120)
           at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:356)
           at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:108)
           ... 25 more
   
   2019-10-12 16:14:12,398 INFO  [io.qua.dev] (Timer-0) Hot replace total time: 0.822s 
   ```
   
   I noticed that `No component found with scheme: direct`. So I manually added some dependencies
   
   ```xml
       <dependency>
         <groupId>org.apache.camel.quarkus</groupId>
         <artifactId>camel-quarkus-direct</artifactId>
       </dependency>
       <dependency>
         <groupId>org.apache.camel.quarkus</groupId>
         <artifactId>camel-quarkus-rest</artifactId>
       </dependency>
   ```
   
   But getting some new errors:
   
   ```
   (base) bogon:camel-quickstart zhanglei$ mvn clean compile quarkus:dev -DnoDeps
   [INFO] Scanning for projects...
   [INFO] 
   [INFO] ------------------< org.coolbeevip:camel-quickstart >-------------------
   [INFO] Building camel-quickstart 1.0.0-SNAPSHOT
   [INFO] --------------------------------[ jar ]---------------------------------
   [INFO] 
   [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ camel-quickstart ---
   [INFO] Deleting /Users/zhanglei/github/quarkus-labs/camel-quickstart/target
   [INFO] 
   [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ camel-quickstart ---
   [INFO] Using 'UTF-8' encoding to copy filtered resources.
   [INFO] Copying 1 resource
   [INFO] 
   [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ camel-quickstart ---
   [INFO] Changes detected - recompiling the module!
   [INFO] Compiling 3 source files to /Users/zhanglei/github/quarkus-labs/camel-quickstart/target/classes
   [INFO] 
   [INFO] --- quarkus-maven-plugin:0.23.2:dev (default-cli) @ camel-quickstart ---
   Listening for transport dt_socket at address: 5005
   SLF4J: org.apache.camel.quarkus.core.deployment.BuildProcessor
   SLF4J: The following set of substitute loggers may have been accessed
   SLF4J: during the initialization phase. Logging calls during this
   SLF4J: phase were not honored. However, subsequent logging calls to these
   SLF4J: loggers will work as normally expected.
   SLF4J: See also http://www.slf4j.org/codes.html#substituteLogger
   2019-10-12 16:47:12,687 INFO  [io.qua.dep.QuarkusAugmentor] (main) Beginning quarkus augmentation
   2019-10-12 16:47:13,421 INFO  [io.qua.dep.QuarkusAugmentor] (main) Quarkus augmentation completed in 734ms
   2019-10-12 16:47:13,879 INFO  [org.apa.cam.mai.BaseMainSupport] (main) Using properties from classpath:application.properties
   2019-10-12 16:47:13,883 INFO  [org.apa.cam.com.pro.PropertiesComponent] (main) PropertiesComponent added custom PropertiesSource (registry): org.apache.camel.component.microprofile.config.CamelMicroProfilePropertiesSource@24fabd0f
   2019-10-12 16:47:13,884 INFO  [org.apa.cam.com.pro.PropertiesComponent] (main) PropertiesComponent added custom PropertiesSource (factory): org.apache.camel.component.microprofile.config.CamelMicroProfilePropertiesSource@432034a
   2019-10-12 16:47:13,904 INFO  [org.apa.cam.mai.BaseMainSupport] (main) Auto-configuration summary:
   2019-10-12 16:47:13,904 INFO  [org.apa.cam.mai.BaseMainSupport] (main)  camel.context.name=quarkus-camel-example-rest-json
   2019-10-12 16:47:13,982 INFO  [org.apa.cam.qua.cor.FastCamelContext] (main) Apache Camel 3.0.0-SNAPSHOT (CamelContext: quarkus-camel-example-rest-json) is starting
   2019-10-12 16:47:13,982 INFO  [org.apa.cam.imp.eng.DefaultManagementStrategy] (main) JMX is disabled
   2019-10-12 16:47:14,089 INFO  [org.apa.cam.qua.cor.FastCamelContext] (main) StreamCaching is not in use. If using streams then its recommended to enable stream caching. See more details at http://camel.apache.org/stream-caching.html
   2019-10-12 16:47:14,154 INFO  [org.apa.cam.qua.cor.FastCamelContext] (main) Apache Camel 3.0.0-SNAPSHOT (CamelContext: quarkus-camel-example-rest-json) is shutting down
   2019-10-12 16:47:14,157 INFO  [org.apa.cam.mai.MainLifecycleStrategy] (main) CamelContext: quarkus-camel-example-rest-json has been shutdown, triggering shutdown of the JVM.
   2019-10-12 16:47:14,164 INFO  [org.apa.cam.qua.cor.FastCamelContext] (main) Apache Camel 3.0.0-SNAPSHOT (CamelContext: quarkus-camel-example-rest-json) uptime 0.181 seconds
   2019-10-12 16:47:14,164 INFO  [org.apa.cam.qua.cor.FastCamelContext] (main) Apache Camel 3.0.0-SNAPSHOT (CamelContext: quarkus-camel-example-rest-json) is shutdown in 0.010 seconds
   2019-10-12 16:47:14,165 ERROR [org.apa.cam.qua.cor.FastCamelContext] (main) Error starting CamelContext (quarkus-camel-example-rest-json) due to exception thrown: Failed to start route route5 because of Route(route5)[From[rest://get:/say:/hello?routeId=route5] ->...: org.apache.camel.FailedToStartRouteException: Failed to start route route5 because of Route(route5)[From[rest://get:/say:/hello?routeId=route5] ->...
           at org.apache.camel.impl.engine.BaseRouteService.warmUp(BaseRouteService.java:131)
           at org.apache.camel.impl.engine.AbstractCamelContext.doWarmUpRoutes(AbstractCamelContext.java:3140)
           at org.apache.camel.impl.engine.AbstractCamelContext.safelyStartRouteServices(AbstractCamelContext.java:3035)
           at org.apache.camel.impl.engine.AbstractCamelContext.doStartOrResumeRoutes(AbstractCamelContext.java:2824)
           at org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:2632)
           at org.apache.camel.impl.engine.AbstractCamelContext.lambda$doStart$2(AbstractCamelContext.java:2438)
           at org.apache.camel.impl.engine.AbstractCamelContext.doWithDefinedClassLoader(AbstractCamelContext.java:2455)
           at org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2436)
           at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:99)
           at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2345)
           at org.apache.camel.quarkus.core.CamelMain.doStart(CamelMain.java:51)
           at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:99)
           at org.apache.camel.quarkus.core.CamelMainRecorder.start(CamelMainRecorder.java:113)
           at io.quarkus.deployment.steps.Main$start35.deploy_0(Main$start35.zig:77)
           at io.quarkus.deployment.steps.Main$start35.deploy(Main$start35.zig:36)
           at io.quarkus.runner.ApplicationImpl1.doStart(ApplicationImpl1.zig:260)
           at io.quarkus.runtime.Application.start(Application.java:93)
           at io.quarkus.runner.RuntimeRunner.run(RuntimeRunner.java:135)
           at io.quarkus.dev.DevModeMain.doStart(DevModeMain.java:180)
           at io.quarkus.dev.DevModeMain.start(DevModeMain.java:94)
           at io.quarkus.dev.DevModeMain.main(DevModeMain.java:66)
   Caused by: java.lang.IllegalStateException: Cannot find RestConsumerFactory in Registry or as a Component to use
           at org.apache.camel.component.rest.RestEndpoint.createConsumer(RestEndpoint.java:546)
           at org.apache.camel.impl.engine.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:68)
           at org.apache.camel.impl.engine.DefaultRoute.onStartingServices(DefaultRoute.java:120)
           at org.apache.camel.impl.engine.BaseRouteService.doWarmUp(BaseRouteService.java:157)
           at org.apache.camel.impl.engine.BaseRouteService.warmUp(BaseRouteService.java:129)
           ... 20 more
   
   java.lang.RuntimeException: org.apache.camel.FailedToStartRouteException: Failed to start route route5 because of Route(route5)[From[rest://get:/say:/hello?routeId=route5] ->...
           at org.apache.camel.quarkus.core.CamelMainRecorder.start(CamelMainRecorder.java:115)
           at io.quarkus.deployment.steps.Main$start35.deploy_0(Main$start35.zig:77)
           at io.quarkus.deployment.steps.Main$start35.deploy(Main$start35.zig:36)
           at io.quarkus.runner.ApplicationImpl1.doStart(ApplicationImpl1.zig:260)
           at io.quarkus.runtime.Application.start(Application.java:93)
           at io.quarkus.runner.RuntimeRunner.run(RuntimeRunner.java:135)
           at io.quarkus.dev.DevModeMain.doStart(DevModeMain.java:180)
           at io.quarkus.dev.DevModeMain.start(DevModeMain.java:94)
           at io.quarkus.dev.DevModeMain.main(DevModeMain.java:66)
   Caused by: org.apache.camel.FailedToStartRouteException: Failed to start route route5 because of Route(route5)[From[rest://get:/say:/hello?routeId=route5] ->...
           at org.apache.camel.impl.engine.BaseRouteService.warmUp(BaseRouteService.java:131)
           at org.apache.camel.impl.engine.AbstractCamelContext.doWarmUpRoutes(AbstractCamelContext.java:3140)
           at org.apache.camel.impl.engine.AbstractCamelContext.safelyStartRouteServices(AbstractCamelContext.java:3035)
           at org.apache.camel.impl.engine.AbstractCamelContext.doStartOrResumeRoutes(AbstractCamelContext.java:2824)
           at org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:2632)
           at org.apache.camel.impl.engine.AbstractCamelContext.lambda$doStart$2(AbstractCamelContext.java:2438)
           at org.apache.camel.impl.engine.AbstractCamelContext.doWithDefinedClassLoader(AbstractCamelContext.java:2455)
           at org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2436)
           at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:99)
           at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2345)
           at org.apache.camel.quarkus.core.CamelMain.doStart(CamelMain.java:51)
           at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:99)
           at org.apache.camel.quarkus.core.CamelMainRecorder.start(CamelMainRecorder.java:113)
           ... 8 more
   Caused by: java.lang.IllegalStateException: Cannot find RestConsumerFactory in Registry or as a Component to use
           at org.apache.camel.component.rest.RestEndpoint.createConsumer(RestEndpoint.java:546)
           at org.apache.camel.impl.engine.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:68)
           at org.apache.camel.impl.engine.DefaultRoute.onStartingServices(DefaultRoute.java:120)
           at org.apache.camel.impl.engine.BaseRouteService.doWarmUp(BaseRouteService.java:157)
           at org.apache.camel.impl.engine.BaseRouteService.warmUp(BaseRouteService.java:129)
           ... 20 more
   2019-10-12 16:47:14,192 ERROR [io.qua.dev.DevModeMain] (main) Failed to start quarkus: java.lang.RuntimeException: Failed to start quarkus
           at io.quarkus.runner.ApplicationImpl1.doStart(ApplicationImpl1.zig:282)
           at io.quarkus.runtime.Application.start(Application.java:93)
           at io.quarkus.runner.RuntimeRunner.run(RuntimeRunner.java:135)
           at io.quarkus.dev.DevModeMain.doStart(DevModeMain.java:180)
           at io.quarkus.dev.DevModeMain.start(DevModeMain.java:94)
           at io.quarkus.dev.DevModeMain.main(DevModeMain.java:66)
   Caused by: java.lang.RuntimeException: org.apache.camel.FailedToStartRouteException: Failed to start route route5 because of Route(route5)[From[rest://get:/say:/hello?routeId=route5] ->...
           at org.apache.camel.quarkus.core.CamelMainRecorder.start(CamelMainRecorder.java:115)
           at io.quarkus.deployment.steps.Main$start35.deploy_0(Main$start35.zig:77)
           at io.quarkus.deployment.steps.Main$start35.deploy(Main$start35.zig:36)
           at io.quarkus.runner.ApplicationImpl1.doStart(ApplicationImpl1.zig:260)
           ... 5 more
   Caused by: org.apache.camel.FailedToStartRouteException: Failed to start route route5 because of Route(route5)[From[rest://get:/say:/hello?routeId=route5] ->...
           at org.apache.camel.impl.engine.BaseRouteService.warmUp(BaseRouteService.java:131)
           at org.apache.camel.impl.engine.AbstractCamelContext.doWarmUpRoutes(AbstractCamelContext.java:3140)
           at org.apache.camel.impl.engine.AbstractCamelContext.safelyStartRouteServices(AbstractCamelContext.java:3035)
           at org.apache.camel.impl.engine.AbstractCamelContext.doStartOrResumeRoutes(AbstractCamelContext.java:2824)
           at org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:2632)
           at org.apache.camel.impl.engine.AbstractCamelContext.lambda$doStart$2(AbstractCamelContext.java:2438)
           at org.apache.camel.impl.engine.AbstractCamelContext.doWithDefinedClassLoader(AbstractCamelContext.java:2455)
           at org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2436)
           at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:99)
           at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2345)
           at org.apache.camel.quarkus.core.CamelMain.doStart(CamelMain.java:51)
           at org.apache.camel.support.service.ServiceSupport.start(ServiceSupport.java:99)
           at org.apache.camel.quarkus.core.CamelMainRecorder.start(CamelMainRecorder.java:113)
           ... 8 more
   Caused by: java.lang.IllegalStateException: Cannot find RestConsumerFactory in Registry or as a Component to use
           at org.apache.camel.component.rest.RestEndpoint.createConsumer(RestEndpoint.java:546)
           at org.apache.camel.impl.engine.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:68)
           at org.apache.camel.impl.engine.DefaultRoute.onStartingServices(DefaultRoute.java:120)
           at org.apache.camel.impl.engine.BaseRouteService.doWarmUp(BaseRouteService.java:157)
           at org.apache.camel.impl.engine.BaseRouteService.warmUp(BaseRouteService.java:129)
           ... 20 more
   
   2019-10-12 16:47:14,193 ERROR [io.qua.dev.DevModeMain] (main) Failed to start Quarkus, attempting to start hot replacement endpoint to recover
   ```
   
   I only found some usage of the platform-http component in https://github.com/apache/camel-quarkus/blob/master/examples/rest-json/src/main/java/org/acme/rest/json/Routes.java. Is there any more detailed information that will give me a better understanding of how REST DSL is used in Qurakus?
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services