Yes..i can also confirm that this doesn't work. But confused about the
explanation provided in this mail chain. Is this planned to be fixed in the
future releases?

On Fri, 6 Dec 2024, 12:48 pm Mikael Koskinen, <mijap...@gmail.com> wrote:

> Hi,
>
> From my testing, this hasn't changed in the latest versions. Meaning
> calling a kamelet from a kamelet doesn't work.
>
> Though Claus' comment make it sound that in theory it should be working so
> maybe this requires just a small fix.
>
> tiistai 3. joulukuuta 2024 Rohan Emmanuel <rohan.emmanue...@gmail.com>
> kirjoitti:
> > @pasqualre congiusti:  I came across this discussion thread and wanted to
> > confirm if it's still possible to achieve this.
> >
> > @claus: Thanks for the reply. I tried that approach, but it didn't work
> for
> > me. I am on Camel 4.4.0. I get an error saying the Kamelot is not found,
> > but I am able to invoke the kamelet individually from the route.yaml. If
> I
> > add the call of the second kamelet inside the first Kamelet, I get the
> > error below. any pointers would be appreciated.
> >
> > snippet of route.yaml
> > ---
> >    - kamelet: nonstop-logtwo?response_class_name=second
> >    - kamelet: nonstop-log?response_class_name=first
> > ---
> > snippet of 1st kamelet:
> > ---
> > - to: kamelet:nonstop-logtwo?response_class_name=abas
> > ---
> >
> > Stack Trace below for reference :
> > caused by: org.apache.camel.RuntimeCamelException:
> > org.apache.camel.VetoCamelContextStartException: Failure creating route
> > from template: nonstop-log
> >     at org.apache.camel.RuntimeCamelException.wrapRuntimeException
> > (RuntimeCamelException.java:66)
> >     at org.apache.camel.support.service.BaseService.doFail
> > (BaseService.java:407)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.doFail
> > (AbstractCamelContext.java:2990)
> >     at org.apache.camel.support.service.BaseService.fail
> > (BaseService.java:336)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.failOnStartup
> > (AbstractCamelContext.java:3881)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.init
> > (AbstractCamelContext.java:2034)
> >     at org.apache.camel.support.service.BaseService.start
> > (BaseService.java:105)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.start
> > (AbstractCamelContext.java:2040)
> >     at org.apache.camel.impl.DefaultCamelContext.start
> > (DefaultCamelContext.java:212)
> >     at org.apache.camel.main.Main.doStart (Main.java:142)
> >     at org.apache.camel.support.service.BaseService.start
> > (BaseService.java:113)
> >     at org.apache.camel.main.MainSupport.run (MainSupport.java:88)
> >     at org.apache.camel.main.MainCommandLineSupport.run
> > (MainCommandLineSupport.java:229)
> >     at org.apache.camel.example.MyApplication.main
> (MyApplication.java:30)
> >     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native
> Method)
> >     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> > (NativeMethodAccessorImpl.java:77)
> >     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> > (DelegatingMethodAccessorImpl.java:43)
> >     at java.lang.reflect.Method.invoke (Method.java:568)
> >     at org.apache.camel.maven.RunMojo$1.run (RunMojo.java:392)
> >     at java.lang.Thread.run (Thread.java:842)
> > Caused by: org.apache.camel.VetoCamelContextStartException: Failure
> > creating route from template: nonstop-log
> >     at
> >
>
> org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.onContextInitialized
> > (KameletComponent.java:452)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.doInit
> > (AbstractCamelContext.java:2395)
> >     at org.apache.camel.support.service.BaseService.init
> > (BaseService.java:78)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.init
> > (AbstractCamelContext.java:2021)
> >     at org.apache.camel.support.service.BaseService.start
> > (BaseService.java:105)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.start
> > (AbstractCamelContext.java:2040)
> >     at org.apache.camel.impl.DefaultCamelContext.start
> > (DefaultCamelContext.java:212)
> >     at org.apache.camel.main.Main.doStart (Main.java:142)
> >     at org.apache.camel.support.service.BaseService.start
> > (BaseService.java:113)
> >     at org.apache.camel.main.MainSupport.run (MainSupport.java:88)
> >     at org.apache.camel.main.MainCommandLineSupport.run
> > (MainCommandLineSupport.java:229)
> >     at org.apache.camel.example.MyApplication.main
> (MyApplication.java:30)
> >     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native
> Method)
> >     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> > (NativeMethodAccessorImpl.java:77)
> >     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> > (DelegatingMethodAccessorImpl.java:43)
> >     at java.lang.reflect.Method.invoke (Method.java:568)
> >     at org.apache.camel.maven.RunMojo$1.run (RunMojo.java:392)
> >     at java.lang.Thread.run (Thread.java:842)
> > Caused by: org.apache.camel.component.kamelet.KameletNotFoundException:
> > Kamelet with id nonstop-log not found in locations: classpath:/kamelets
> >     at
> >
>
> org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.createRouteForEndpoint
> > (KameletComponent.java:440)
> >     at
> >
>
> org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.onContextInitialized
> > (KameletComponent.java:449)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.doInit
> > (AbstractCamelContext.java:2395)
> >     at org.apache.camel.support.service.BaseService.init
> > (BaseService.java:78)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.init
> > (AbstractCamelContext.java:2021)
> >     at org.apache.camel.support.service.BaseService.start
> > (BaseService.java:105)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.start
> > (AbstractCamelContext.java:2040)
> >     at org.apache.camel.impl.DefaultCamelContext.start
> > (DefaultCamelContext.java:212)
> >     at org.apache.camel.main.Main.doStart (Main.java:142)
> >     at org.apache.camel.support.service.BaseService.start
> > (BaseService.java:113)
> >     at org.apache.camel.main.MainSupport.run (MainSupport.java:88)
> >     at org.apache.camel.main.MainCommandLineSupport.run
> > (MainCommandLineSupport.java:229)
> >     at org.apache.camel.example.MyApplication.main
> (MyApplication.java:30)
> >     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native
> Method)
> >     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> > (NativeMethodAccessorImpl.java:77)
> >     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> > (DelegatingMethodAccessorImpl.java:43)
> >     at java.lang.reflect.Method.invoke (Method.java:568)
> >     at org.apache.camel.maven.RunMojo$1.run (RunMojo.java:392)
> >     at java.lang.Thread.run (Thread.java:842)
> > Caused by: org.apache.camel.FailedToCreateRouteException: Failed to
> create
> > route nonstop-log-3 at: >>> To[kamelet://sink?routeId=nonstop-log-3] <<<
> in
> > route: Route(nonstop-log-3)[From[kamelet://source?routeId=nonstop-l...
> > because of Failed to resolve endpoint:
> kamelet://sink?routeId=nonstop-log-3
> > due to: Property with key [templateId] not found in properties from text:
> > {{templateId}}
> >     at org.apache.camel.reifier.RouteReifier.doCreateRoute
> > (RouteReifier.java:228)
> >     at org.apache.camel.reifier.RouteReifier.createRoute
> > (RouteReifier.java:79)
> >     at org.apache.camel.impl.DefaultModelReifierFactory.createRoute
> > (DefaultModelReifierFactory.java:49)
> >     at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions
> > (DefaultCamelContext.java:728)
> >     at
> >
>
> org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.createRouteForEndpoint
> > (KameletComponent.java:435)
> >     at
> >
>
> org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.onContextInitialized
> > (KameletComponent.java:449)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.doInit
> > (AbstractCamelContext.java:2395)
> >     at org.apache.camel.support.service.BaseService.init
> > (BaseService.java:78)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.init
> > (AbstractCamelContext.java:2021)
> >     at org.apache.camel.support.service.BaseService.start
> > (BaseService.java:105)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.start
> > (AbstractCamelContext.java:2040)
> >     at org.apache.camel.impl.DefaultCamelContext.start
> > (DefaultCamelContext.java:212)
> >     at org.apache.camel.main.Main.doStart (Main.java:142)
> >     at org.apache.camel.support.service.BaseService.start
> > (BaseService.java:113)
> >     at org.apache.camel.main.MainSupport.run (MainSupport.java:88)
> >     at org.apache.camel.main.MainCommandLineSupport.run
> > (MainCommandLineSupport.java:229)
> >     at org.apache.camel.example.MyApplication.main
> (MyApplication.java:30)
> >     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native
> Method)
> >     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> > (NativeMethodAccessorImpl.java:77)
> >     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> > (DelegatingMethodAccessorImpl.java:43)
> >     at java.lang.reflect.Method.invoke (Method.java:568)
> >     at org.apache.camel.maven.RunMojo$1.run (RunMojo.java:392)
> >     at java.lang.Thread.run (Thread.java:842)
> > Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to
> > resolve endpoint: kamelet://sink?routeId=nonstop-log-3 due to: Property
> > with key [templateId] not found in properties from text: {{templateId}}
> >     at org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint
> > (AbstractCamelContext.java:830)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint
> > (AbstractCamelContext.java:730)
> >     at org.apache.camel.support.CamelContextHelper.resolveEndpoint
> > (CamelContextHelper.java:123)
> >     at org.apache.camel.reifier.SendReifier.resolveEndpoint
> > (SendReifier.java:47)
> >     at org.apache.camel.reifier.SendReifier.createProcessor
> > (SendReifier.java:37)
> >     at org.apache.camel.reifier.ProcessorReifier.makeProcessor
> > (ProcessorReifier.java:879)
> >     at org.apache.camel.reifier.ProcessorReifier.addRoutes
> > (ProcessorReifier.java:619)
> >     at org.apache.camel.reifier.RouteReifier.doCreateRoute
> > (RouteReifier.java:224)
> >     at org.apache.camel.reifier.RouteReifier.createRoute
> > (RouteReifier.java:79)
> >     at org.apache.camel.impl.DefaultModelReifierFactory.createRoute
> > (DefaultModelReifierFactory.java:49)
> >     at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions
> > (DefaultCamelContext.java:728)
> >     at
> >
>
> org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.createRouteForEndpoint
> > (KameletComponent.java:435)
> >     at
> >
>
> org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.onContextInitialized
> > (KameletComponent.java:449)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.doInit
> > (AbstractCamelContext.java:2395)
> >     at org.apache.camel.support.service.BaseService.init
> > (BaseService.java:78)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.init
> > (AbstractCamelContext.java:2021)
> >     at org.apache.camel.support.service.BaseService.start
> > (BaseService.java:105)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.start
> > (AbstractCamelContext.java:2040)
> >     at org.apache.camel.impl.DefaultCamelContext.start
> > (DefaultCamelContext.java:212)
> >     at org.apache.camel.main.Main.doStart (Main.java:142)
> >     at org.apache.camel.support.service.BaseService.start
> > (BaseService.java:113)
> >     at org.apache.camel.main.MainSupport.run (MainSupport.java:88)
> >     at org.apache.camel.main.MainCommandLineSupport.run
> > (MainCommandLineSupport.java:229)
> >     at org.apache.camel.example.MyApplication.main
> (MyApplication.java:30)
> >     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native
> Method)
> >     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> > (NativeMethodAccessorImpl.java:77)
> >     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> > (DelegatingMethodAccessorImpl.java:43)
> >     at java.lang.reflect.Method.invoke (Method.java:568)
> >     at org.apache.camel.maven.RunMojo$1.run (RunMojo.java:392)
> >     at java.lang.Thread.run (Thread.java:842)
> > Caused by: java.lang.IllegalArgumentException: Property with key
> > [templateId] not found in properties from text: {{templateId}}
> >     at
> >
>
> org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.getPropertyValue
> > (DefaultPropertiesParser.java:373)
> >     at
> >
>
> org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.readProperty
> > (DefaultPropertiesParser.java:232)
> >     at
> >
>
> org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.doParseNested
> > (DefaultPropertiesParser.java:169)
> >     at
> >
>
> org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.parse
> > (DefaultPropertiesParser.java:118)
> >     at
> > org.apache.camel.component.properties.DefaultPropertiesParser.parseUri
> > (DefaultPropertiesParser.java:70)
> >     at org.apache.camel.component.properties.PropertiesComponent.parseUri
> > (PropertiesComponent.java:320)
> >     at org.apache.camel.component.properties.PropertiesComponent.parseUri
> > (PropertiesComponent.java:171)
> >     at
> >
>
> org.apache.camel.impl.engine.DefaultCamelContextExtension.resolvePropertyPlaceholders
> > (DefaultCamelContextExtension.java:315)
> >     at
> >
>
> org.apache.camel.impl.engine.AbstractCamelContext.resolvePropertyPlaceholders
> > (AbstractCamelContext.java:1543)
> >     at org.apache.camel.component.kamelet.Kamelet.extractTemplateId
> > (Kamelet.java:66)
> >     at org.apache.camel.component.kamelet.KameletComponent.createEndpoint
> > (KameletComponent.java:107)
> >     at org.apache.camel.support.DefaultComponent.createEndpoint
> > (DefaultComponent.java:170)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint
> > (AbstractCamelContext.java:796)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint
> > (AbstractCamelContext.java:730)
> >     at org.apache.camel.support.CamelContextHelper.resolveEndpoint
> > (CamelContextHelper.java:123)
> >     at org.apache.camel.reifier.SendReifier.resolveEndpoint
> > (SendReifier.java:47)
> >     at org.apache.camel.reifier.SendReifier.createProcessor
> > (SendReifier.java:37)
> >     at org.apache.camel.reifier.ProcessorReifier.makeProcessor
> > (ProcessorReifier.java:879)
> >     at org.apache.camel.reifier.ProcessorReifier.addRoutes
> > (ProcessorReifier.java:619)
> >     at org.apache.camel.reifier.RouteReifier.doCreateRoute
> > (RouteReifier.java:224)
> >     at org.apache.camel.reifier.RouteReifier.createRoute
> > (RouteReifier.java:79)
> >     at org.apache.camel.impl.DefaultModelReifierFactory.createRoute
> > (DefaultModelReifierFactory.java:49)
> >     at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions
> > (DefaultCamelContext.java:728)
> >     at
> >
>
> org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.createRouteForEndpoint
> > (KameletComponent.java:435)
> >     at
> >
>
> org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.onContextInitialized
> > (KameletComponent.java:449)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.doInit
> > (AbstractCamelContext.java:2395)
> >     at org.apache.camel.support.service.BaseService.init
> > (BaseService.java:78)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.init
> > (AbstractCamelContext.java:2021)
> >     at org.apache.camel.support.service.BaseService.start
> > (BaseService.java:105)
> >     at org.apache.camel.impl.engine.AbstractCamelContext.start
> > (AbstractCamelContext.java:2040)
> >     at org.apache.camel.impl.DefaultCamelContext.start
> > (DefaultCamelContext.java:212)
> >     at org.apache.camel.main.Main.doStart (Main.java:142)
> >     at org.apache.camel.support.service.BaseService.start
> > (BaseService.java:113)
> >     at org.apache.camel.main.MainSupport.run (MainSupport.java:88)
> >     at org.apache.camel.main.MainCommandLineSupport.run
> > (MainCommandLineSupport.java:229)
> >     at org.apache.camel.example.MyApplication.main
> (MyApplication.java:30)
> >     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native
> Method)
> >     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> > (NativeMethodAccessorImpl.java:77)
> >     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> > (DelegatingMethodAccessorImpl.java:43)
> >     at java.lang.reflect.Method.invoke (Method.java:568)
> >     at org.apache.camel.maven.RunMojo$1.run (RunMojo.java:392)
> >     at java.lang.Thread.run (Thread.java:842)
> > [ERROR] *************************************
> >
> > On Tue, Dec 3, 2024 at 9:38 PM Pasquale Congiusti <
> > pasquale.congiu...@gmail.com> wrote:
> >
> >> Errata link:
> >> https://lists.apache.org/thread/22bzj6ghxhjdffgv06zz2pcg9htz99mo
> >>
> >> On Tue, Dec 3, 2024 at 5:07 PM Pasquale Congiusti <
> >> pasquale.congiu...@gmail.com> wrote:
> >>
> >> > Hello,
> >> > this question pops up from time to time [1]. I recall that was
> something
> >> > not doable in the previous versions of Camel. However, I don't know if
> >> this
> >> > is no longer the case or which would be the mechanisms required to
> >> > introduce such a recursiveness. Definitely it is good to know if this
> is
> >> > something we can do with the actual status of the art of the core.
> >> >
> >> > Regards,
> >> > Pasquale.
> >> >
> >> > [1] https://lists.apache.org/list?users@camel.apache.org:2023-8
> >> >
> >> > On Tue, Dec 3, 2024 at 4:41 PM Claus Ibsen <claus.ib...@gmail.com>
> >> wrote:
> >> >
> >> >> Hi
> >> >>
> >> >> Its just like another component. You can pass parameters via uri etc
> >> >>
> >> >> to("kamelet:second?foo=blah&cid=1234")
> >> >>
> >> >>
> >> >>
> >> >> On Tue, Dec 3, 2024 at 4:26 PM Rohan Emmanuel <
> >> rohan.emmanue...@gmail.com
> >> >> >
> >> >> wrote:
> >> >>
> >> >> > hi,
> >> >> >  is it possible to call another kamelet from a kamelet?
> >> >> > i was looking to invoke my custom kamelet from my another kamelet.
> is
> >> >> this
> >> >> > supported? how to pass properties from one kamelet to another?
> >> >> > can anyone point me to the docs/examples?
> >> >> > any help would be appreciated.
> >> >> >
> >> >> > --
> >> >> > Regards,
> >> >> > Rohan Emmanuel
> >> >> >
> >> >>
> >> >>
> >> >> --
> >> >> Claus Ibsen
> >> >> -----------------
> >> >> @davsclaus
> >> >> Camel in Action 2: https://www.manning.com/ibsen2
> >> >>
> >> >
> >>
> >
> >
> > --
> > Regards,
> > Rohan Emmanuel
> >
>

Reply via email to