You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (Jira)" <ji...@apache.org> on 2021/11/16 16:13:00 UTC

[jira] [Created] (CAMEL-17201) camel-kamelet - Auto download JARs for new components in use when using regular routes

Claus Ibsen created CAMEL-17201:
-----------------------------------

             Summary: camel-kamelet - Auto download JARs for new components in use when using regular routes
                 Key: CAMEL-17201
                 URL: https://issues.apache.org/jira/browse/CAMEL-17201
             Project: Camel
          Issue Type: Improvement
          Components: camel-kamelet, camel-main
            Reporter: Claus Ibsen
             Fix For: 3.14.0


We can auto detect when a new component is in use, then try to auto download its JAR - we can do this for kamelets because their spec list the deps. But for regular routes, then we have only the uri scheme name

```
~/Desktop ❯ CamelJBang run foo.yaml --max-messages=10 --debug-level=info
Starting Camel JBang!
A new lock file was created on /Users/davsclaus/Desktop/./.run14397159960467045040.camel.lock. Delete this file to stop running
17:00:17.745 [main] INFO  org.apache.camel.main.BaseMainSupport - Auto-configuration summary
17:00:17.749 [main] INFO  org.apache.camel.main.BaseMainSupport -     camel.main.lightweight=true
17:00:17.749 [main] INFO  org.apache.camel.main.BaseMainSupport -     camel.main.routesIncludePattern=file:foo.yaml
17:00:17.749 [main] INFO  org.apache.camel.main.BaseMainSupport -     camel.main.name=CamelJBang
17:00:17.749 [main] INFO  org.apache.camel.main.BaseMainSupport -     camel.main.durationMaxMessages=10
17:00:17.749 [main] INFO  org.apache.camel.main.BaseMainSupport -     camel.component.kamelet.location=classpath:/kamelets,github:apache:camel-kamelets
org.apache.camel.FailedToCreateRouteException: Failed to create route route2 at: >>> To[aws2-kinesis:mystream?proxyPort=8080&trustAllCertificates=true] <<< in route: Route(route2)[From[timer:yaml?period=1000] -> [SetBody[const... because of No endpoint could be found for: aws2-kinesis://mystream?proxyPort=8080&trustAllCertificates=true, please check your classpath contains the needed Camel component jar.
        at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:240)
        at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:74)
        at org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49)
        at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:851)
        at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:741)
        at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2773)
        at org.apache.camel.support.service.BaseService.init(BaseService.java:83)
        at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2491)
        at org.apache.camel.support.service.BaseService.start(BaseService.java:111)
        at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2510)
        at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:246)
        at org.apache.camel.main.KameletMain.doStart(KameletMain.java:114)
        at org.apache.camel.support.service.BaseService.start(BaseService.java:119)
        at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:114)
        at org.apache.camel.dsl.jbang.core.commands.Run.call(Run.java:73)
        at org.apache.camel.dsl.jbang.core.commands.Run.call(Run.java:32)
        at picocli.CommandLine.executeUserObject(CommandLine.java:1953)
        at picocli.CommandLine.access$1300(CommandLine.java:145)
        at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2352)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2346)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2311)
        at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
        at picocli.CommandLine.execute(CommandLine.java:2078)
        at org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:42)
        at main.CamelJBang.main(CamelJBang.java:30)
```



--
This message was sent by Atlassian Jira
(v8.20.1#820001)