Quartz binding name containing an underscore character causes "Trigger name cannot be null or empty" exception during deployment of SwitchYard application
Issue
- The configured
cron
expression is written usingSwitchYard
'sQuartz binding
. However the interesting thing is, it causes the following exception while deploying theSwitchYard
application inFSW 6.0.0
container if theQuartz binding
name contains anunderscore
character (likeSY_Quartz_Binding
) .
07:14:11,448 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service jboss.deployment.unit."SY_Quartz_Binding.jar".SwitchYardService: org.jboss.msc.service.StartException in service jboss.deployment.unit."SY_Quartz_Binding.jar".SwitchYardService: org.switchyard.SwitchYardException: org.apache.camel.FailedToCreateRouteException: Failed to create route TestModel/ErrorSYQuartzService@SY_Quartz_Binding#1626837044: Route[[From[quartz://SY_Quartz_Binding?cron=0/10%20*%20*%20*%20*%... because of Failed to resolve endpoint: quartz://SY_Quartz_Binding?cron=0%2F10+*+*+*+*+%3F due to: Trigger name cannot be null or empty.
at org.switchyard.as7.extension.services.SwitchYardService.start(SwitchYardService.java:80)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [rt.jar:1.6.0_85]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [rt.jar:1.6.0_85]
at java.lang.Thread.run(Thread.java:682) [rt.jar:1.6.0_85]
Caused by: org.switchyard.SwitchYardException: org.apache.camel.FailedToCreateRouteException: Failed to create route TestModel/ErrorSYQuartzService@SY_Quartz_Binding#1626837044: Route[[From[quartz://SY_Quartz_Binding?cron=0/10%20*%20*%20*%20*%... because of Failed to resolve endpoint: quartz://SY_Quartz_Binding?cron=0%2F10+*+*+*+*+%3F due to: Trigger name cannot be null or empty.
at org.switchyard.component.camel.common.handler.InboundHandler.<init>(InboundHandler.java:69)
at org.switchyard.component.camel.common.deploy.BaseBindingActivator.createInboundHandler(BaseBindingActivator.java:51)
at org.switchyard.component.camel.common.deploy.BaseBindingActivator.activateBinding(BaseBindingActivator.java:43)
at org.switchyard.deploy.internal.Deployment.deployServiceBindings(Deployment.java:618)
at org.switchyard.deploy.internal.Deployment.start(Deployment.java:145)
at org.switchyard.as7.extension.deployment.SwitchYardDeployment.start(SwitchYardDeployment.java:101)
at org.switchyard.as7.extension.services.SwitchYardService.start(SwitchYardService.java:73)
... 5 more
Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route TestModel/ErrorSYQuartzService@SY_Quartz_Binding#1626837044: Route[[From[quartz://SY_Quartz_Binding?cron=0/10%20*%20*%20*%20*%... because of Failed to resolve endpoint: quartz://SY_Quartz_Binding?cron=0%2F10+*+*+*+*+%3F due to: Trigger name cannot be null or empty.
at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:177)
at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:731)
at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1803)
at org.apache.camel.impl.DefaultCamelContext.addRouteDefinitions(DefaultCamelContext.java:675)
at org.apache.camel.impl.DefaultCamelContext.addRouteDefinition(DefaultCamelContext.java:680)
at org.switchyard.component.camel.common.handler.InboundHandler.<init>(InboundHandler.java:67)
... 11 more
Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: quartz://SY_Quartz_Binding?cron=0%2F10+*+*+*+*+%3F due to: Trigger name cannot be null or empty.
at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:488)
at org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:61)
at org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:187)
at org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:108)
at org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:114)
at org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
at org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:90)
at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:857)
at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:172)
... 16 more
Caused by: java.lang.IllegalArgumentException: Trigger name cannot be null or empty.
at org.quartz.Trigger.setName(Trigger.java:366)
at org.apache.camel.component.quartz.QuartzComponent.createEndpoint(QuartzComponent.java:159)
at org.apache.camel.component.quartz.QuartzComponent.createEndpoint(QuartzComponent.java:54)
at org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:91)
at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:469)
... 24 more
- Is this a known issue? Is there a workaround for it?
Environment
- Red Hat JBoss Fuse Service Works (FSW)
- 6.0.0
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.