[ 
https://issues.apache.org/jira/browse/CAMEL-21572?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen resolved CAMEL-21572.
---------------------------------
    Resolution: Fixed

Thanks for reporting and the PR

> Camel JBang with --runtime=spring-boot throw NullPointerException
> -----------------------------------------------------------------
>
>                 Key: CAMEL-21572
>                 URL: https://issues.apache.org/jira/browse/CAMEL-21572
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-jbang
>    Affects Versions: 4.8.2, 4.9.0
>            Reporter: Bartosz Popiela
>            Priority: Minor
>             Fix For: 4.8.3, 4.10.0
>
>
> SetHeader with a simple expression causes NullPointerException to be thrown 
> because for runtime other than default (kamelet-main) JBang uses Stub instead 
> of the actual component which produces null. 
> {code:java}
> PS> jbang "-Dcamel.jbang.version=4.8.0" camel@apache/camel run * 
> --runtime=spring-boot
> org.apache.camel.FailedToCreateRouteException: Failed to create route 
> route-603e at: >>> SetHeader[SampleUUID, simple{This is a sample UUID: 
> ${bean:type:java.util.UUID?method=randomUUID}}] <<< in route: 
> Route(route-603e)[From[timer:oneTimeTimer?delay=0&repeatCoun... because of 
> Cannot invoke "Object.toString()" because "value" is null
>         at 
> org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:235)
>         at 
> org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:86)
>         at 
> org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49)
>         at 
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:726)
>         at 
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:592)
>         at 
> org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2433)
>         at 
> org.apache.camel.support.service.BaseService.init(BaseService.java:85)
>         at 
> org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2068)
>         at 
> org.apache.camel.support.service.BaseService.start(BaseService.java:115)
>         at 
> org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2087)
>         at 
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:211)
>         at org.apache.camel.main.KameletMain.doStart(KameletMain.java:373)
>         at 
> org.apache.camel.support.service.BaseService.start(BaseService.java:123)
>         at 
> org.apache.camel.dsl.jbang.core.commands.Run.runKameletMain(Run.java:1348)
>         at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:864)
>         at 
> org.apache.camel.dsl.jbang.core.commands.Run.runExport(Run.java:330)
>         at 
> org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.runSilently(ExportBaseCommand.java:318)
>         at 
> org.apache.camel.dsl.jbang.core.commands.ExportSpringBoot.export(ExportSpringBoot.java:71)
>         at 
> org.apache.camel.dsl.jbang.core.commands.Run.runSpringBoot(Run.java:988)
>         at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:416)
>         at org.apache.camel.dsl.jbang.core.commands.Run.doCall(Run.java:319)
>         at 
> org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:71)
>         at 
> org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:37)
>         at picocli.CommandLine.executeUserObject(CommandLine.java:2045)
>         at picocli.CommandLine.access$1500(CommandLine.java:148)
>         at 
> picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2465)
>         at picocli.CommandLine$RunLast.handle(CommandLine.java:2457)
>         at picocli.CommandLine$RunLast.handle(CommandLine.java:2419)
>         at 
> picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
>         at picocli.CommandLine$RunLast.execute(CommandLine.java:2421)
>         at picocli.CommandLine.execute(CommandLine.java:2174)
>         at 
> org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:173)
>         at 
> org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:62)
>         at main.CamelJBang.main(CamelJBang.java:36)
> Caused by: java.lang.NullPointerException: Cannot invoke "Object.toString()" 
> because "value" is null
>         at 
> org.apache.camel.support.builder.ExpressionBuilder$62.init(ExpressionBuilder.java:2126)
>         at 
> org.apache.camel.reifier.language.ExpressionReifier.createExpression(ExpressionReifier.java:183)
>         at 
> org.apache.camel.reifier.AbstractReifier.createExpression(AbstractReifier.java:119)
>         at 
> org.apache.camel.reifier.SetHeaderReifier.createProcessor(SetHeaderReifier.java:37)
>         at 
> org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:893)
>         at 
> org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:629)
>         at 
> org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:231)
>         ... 33 more
> {code}
> {code:yaml}
> - route:
>     id: route-603e
>     nodePrefixId: route-b8d
>     from:
>       id: from-6ff9
>       uri: timer
>       parameters:
>         delay: "0"
>         timerName: oneTimeTimer
>         repeatCount: "1"
>       steps:
>         - setHeader:
>             id: setHeader-c0db
>             name: SampleUUID
>             expression:
>               simple:
>                 id: simple-536b
>                 expression: >-
>                   This is a sample UUID:
>                   ${bean:type:java.util.UUID?method=randomUUID}
>         - log:
>             id: log-3213
>             message: ${header.SampleUUID}
> {code}



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

Reply via email to