[ 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)