You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Darren Coleman (Jira)" <ji...@apache.org> on 2022/08/02 14:51:00 UTC

[jira] [Created] (CAMEL-18336) camel-jbang: YAML DSL cannot find classes for local beans

Darren Coleman created CAMEL-18336:
--------------------------------------

             Summary: camel-jbang: YAML DSL cannot find classes for local beans
                 Key: CAMEL-18336
                 URL: https://issues.apache.org/jira/browse/CAMEL-18336
             Project: Camel
          Issue Type: Bug
          Components: camel-jbang
    Affects Versions: 3.18.0
         Environment: Camel 3.18, Java 11.
            Reporter: Darren Coleman
         Attachments: camel-jbang-yaml-bean.tgz

When running a YAML route using camel-jbang, it fails to find the class for a Java bean in the same directory. However, the equivalent route written in Java DSL runs the route without errors.

The attached tarball contains a simple bean and equivalent routes in Java and YAML.

To see the failures, run the YAML route:
{code:bash}
$ camel run HelloBean.java hello.yaml
java.lang.RuntimeException: java.lang.ClassNotFoundException: HelloBean
	at org.apache.camel.dsl.yaml.deserializers.BeansDeserializer$1.configure(BeansDeserializer.java:67)
	at org.apache.camel.dsl.yaml.common.YamlSupport$1.configure(YamlSupport.java:121)
	at org.apache.camel.dsl.yaml.YamlRoutesBuilderLoader$1.doConfigure(YamlRoutesBuilderLoader.java:166)
	at org.apache.camel.dsl.yaml.YamlRoutesBuilderLoader$1.configure(YamlRoutesBuilderLoader.java:140)
	at org.apache.camel.builder.RouteBuilder.checkInitialized(RouteBuilder.java:672)
	at org.apache.camel.builder.RouteBuilder.configureRoutes(RouteBuilder.java:618)
	at org.apache.camel.builder.RouteBuilder.addRoutesToCamelContext(RouteBuilder.java:554)
	at org.apache.camel.impl.engine.AbstractCamelContext.addRoutes(AbstractCamelContext.java:1178)
	at org.apache.camel.main.RoutesConfigurer.addDiscoveredRoutes(RoutesConfigurer.java:237)
	at org.apache.camel.main.RoutesConfigurer.configureRoutes(RoutesConfigurer.java:212)
	at org.apache.camel.main.BaseMainSupport.configureRoutes(BaseMainSupport.java:582)
	at org.apache.camel.main.BaseMainSupport.postProcessCamelContext(BaseMainSupport.java:637)
	at org.apache.camel.main.MainSupport.initCamelContext(MainSupport.java:403)
	at org.apache.camel.main.KameletMain.doInit(KameletMain.java:227)
	at org.apache.camel.support.service.BaseService.init(BaseService.java:83)
	at org.apache.camel.support.service.BaseService.start(BaseService.java:111)
	at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:560)
	at org.apache.camel.dsl.jbang.core.commands.Run.call(Run.java:199)
	at org.apache.camel.dsl.jbang.core.commands.Run.call(Run.java:72)
	at picocli.CommandLine.executeUserObject(CommandLine.java:1953)
	at picocli.CommandLine.access$1300(CommandLine.java:145)
	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
	at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
	at picocli.CommandLine.execute(CommandLine.java:2078)
	at org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:51)
	at main.CamelJBang.main(CamelJBang.java:37)
Caused by: java.lang.ClassNotFoundException: HelloBean
	at org.apache.camel.impl.engine.DefaultClassResolver.resolveMandatoryClass(DefaultClassResolver.java:87)
	at org.apache.camel.support.PropertyBindingSupport.resolveBean(PropertyBindingSupport.java:1519)
	at org.apache.camel.dsl.yaml.deserializers.NamedBeanDefinition.newInstance(NamedBeanDefinition.java:64)
	at org.apache.camel.dsl.yaml.deserializers.BeansDeserializer$1.configure(BeansDeserializer.java:65)
	... 28 more
{code}

However, the Java route runs without errors:

{code:bash}
$ camel run HelloBean.java HelloRoute.javaJ
{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)