Hi,
I am using a series of quartz-based routes, and used them with success on my
Fuse Esb bus (camel version : 2.10.0.fuse-71-047).
I then installed the same bundle on another bus, of the same version.... but
while it worked on mine, it failed on the new bus because camel kept trying
to override all my quartz endpoints with new ones with the same name (the
error is at the bottom of the message)... it looked like the configure()
method was called each time the scheduler was supposed to tinkle... I
couldn't understand why this happened on that new bus though I guess there's
some configuration difference I should look at... But that the very problem
I have : I don't know where to look at!
So, if any of you have any idea... I thank you in advance!
*Here's my route :*
for(final String category : categories){
from("quartz://collector/"+category+"_Timer?cron="+cronExpression)
.routeId("QuartzRouteToRetrieveAndStoreNewsFrom"+category)
.setHeader(Exchange.HTTP_METHOD, constant("GET"))
.process(someProcessor)
.to("direct:out")
*and the error...*
2013-08-08 17:04:00,004 | ERROR | amel-66_Worker-6 | ErrorLogger
| org.quartz.core.ErrorLogger 2358 | 168 -
org.apache.servicemix.bundles.quartz - 1.8.6.1 | Job
(DEFAULT.quartz-endpoint206 threw an exception.
org.quartz.SchedulerException: Job threw an unhandled exception. [See nested
exception: org.apache.camel.ResolveEndpointFailedException: Failed to
resolve endpoint: quartz://collector/my_Timer?cron=0+0%2F4+*+%3F+*+* due to:
A Quartz job already exists with the name/group:my_Timer/collector]
at
org.quartz.core.JobRunShell.run(JobRunShell.java:234)[168:org.apache.servicemix.bundles.quartz:1.8.6.1]
at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)[168:org.apache.servicemix.bundles.quartz:1.8.6.1]
Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to
resolve endpoint: quartz://collector/my_Timer?cron=0+0%2F4+*+%3F+*+* due to:
A Quartz job already exists with the name/group: my_Timer/collector
at
org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:480)[152:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:493)[152:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:50)[169:org.apache.camel.camel-quartz:2.10.0.fuse-71-047]
at
org.quartz.core.JobRunShell.run(JobRunShell.java:223)[168:org.apache.servicemix.bundles.quartz:1.8.6.1]
... 1 more
Caused by: java.lang.IllegalArgumentException: A Quartz job already exists
with the name/group: my_Timer/collector
at
org.apache.camel.component.quartz.QuartzComponent.createEndpoint(QuartzComponent.java:137)[169:org.apache.camel.camel-quartz:2.10.0.fuse-71-047]
at
org.apache.camel.component.quartz.QuartzComponent.createEndpoint(QuartzComponent.java:54)[169:org.apache.camel.camel-quartz:2.10.0.fuse-71-047]
at
org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:91)[152:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:462)[152:org.apache.camel.camel-core:2.10.0.fuse-71-047]
... 4 more
I am using a series of quartz-based routes, and used them with success on my
Fuse Esb bus (camel version : 2.10.0.fuse-71-047).
I then installed the same bundle on another bus, of the same version.... but
while it worked on mine, it failed on the new bus because camel kept trying
to override all my quartz endpoints with new ones with the same name (the
error is at the bottom of the message)... it looked like the configure()
method was called each time the scheduler was supposed to tinkle... I
couldn't understand why this happened on that new bus though I guess there's
some configuration difference I should look at... But that the very problem
I have : I don't know where to look at!
So, if any of you have any idea... I thank you in advance!
*Here's my route :*
for(final String category : categories){
from("quartz://collector/"+category+"_Timer?cron="+cronExpression)
.routeId("QuartzRouteToRetrieveAndStoreNewsFrom"+category)
.setHeader(Exchange.HTTP_METHOD, constant("GET"))
.process(someProcessor)
.to("direct:out")
*and the error...*
2013-08-08 17:04:00,004 | ERROR | amel-66_Worker-6 | ErrorLogger
| org.quartz.core.ErrorLogger 2358 | 168 -
org.apache.servicemix.bundles.quartz - 1.8.6.1 | Job
(DEFAULT.quartz-endpoint206 threw an exception.
org.quartz.SchedulerException: Job threw an unhandled exception. [See nested
exception: org.apache.camel.ResolveEndpointFailedException: Failed to
resolve endpoint: quartz://collector/my_Timer?cron=0+0%2F4+*+%3F+*+* due to:
A Quartz job already exists with the name/group:my_Timer/collector]
at
org.quartz.core.JobRunShell.run(JobRunShell.java:234)[168:org.apache.servicemix.bundles.quartz:1.8.6.1]
at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)[168:org.apache.servicemix.bundles.quartz:1.8.6.1]
Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to
resolve endpoint: quartz://collector/my_Timer?cron=0+0%2F4+*+%3F+*+* due to:
A Quartz job already exists with the name/group: my_Timer/collector
at
org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:480)[152:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:493)[152:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:50)[169:org.apache.camel.camel-quartz:2.10.0.fuse-71-047]
at
org.quartz.core.JobRunShell.run(JobRunShell.java:223)[168:org.apache.servicemix.bundles.quartz:1.8.6.1]
... 1 more
Caused by: java.lang.IllegalArgumentException: A Quartz job already exists
with the name/group: my_Timer/collector
at
org.apache.camel.component.quartz.QuartzComponent.createEndpoint(QuartzComponent.java:137)[169:org.apache.camel.camel-quartz:2.10.0.fuse-71-047]
at
org.apache.camel.component.quartz.QuartzComponent.createEndpoint(QuartzComponent.java:54)[169:org.apache.camel.camel-quartz:2.10.0.fuse-71-047]
at
org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:91)[152:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:462)[152:org.apache.camel.camel-core:2.10.0.fuse-71-047]
... 4 more