You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by roger_rabbit <ro...@gmx.fr> on 2013/08/08 19:21:32 UTC

quartz scheduler overrider? : failed to resolve endpoint

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



--
View this message in context: http://camel.465427.n5.nabble.com/quartz-scheduler-overrider-failed-to-resolve-endpoint-tp5737005.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: quartz scheduler overrider? : failed to resolve endpoint

Posted by roger_rabbit <ro...@gmx.fr>.
Claus,

sorry for my later answer, and thanks for yours.
Also : unless I read very wrong, I think they have unique names : 
quartz://collector/"+category+"_Timer => my_Timer, your_Timer, his_Timer,
and so on...

And also, it works very fine on my bus that way. The problem occurs with the
same route on another bus.



--
View this message in context: http://camel.465427.n5.nabble.com/quartz-scheduler-overrider-failed-to-resolve-endpoint-tp5737005p5737193.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: quartz scheduler overrider? : failed to resolve endpoint

Posted by Claus Ibsen <cl...@gmail.com>.
Use unique names for your quartz trigger/jobs

On Thu, Aug 8, 2013 at 7:21 PM, roger_rabbit <ro...@gmx.fr> wrote:
> 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
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/quartz-scheduler-overrider-failed-to-resolve-endpoint-tp5737005.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
Email: cibsen@redhat.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen