@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