camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tracy Snell (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CAMEL-3239) camel-quartz should require unique timername
Date Tue, 04 Jan 2011 20:11:52 GMT

    [ https://issues.apache.org/jira/browse/CAMEL-3239?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12977438#action_12977438
] 

Tracy Snell commented on CAMEL-3239:
------------------------------------

When a quartz consumer is stopped the following happens

if running in clustered mode then 
  nothing but a log statement
else
  if the job is volatile then 
    unschedule the job 
  else 
    pause the job (this is where our trouble is).

So in the last case when jobs are being added in the code above it assumes that if the job
exists it was just paused. So resume it (or restart if it changed). When your second endpoint
with a job of the same name is started it hits doAddJob and goes the paused job route.

One solution would be to add the context.getName() + endpoint.getID() to the job name.

Still pondering a bit to make sure I fully understand it all before doing too much.


> camel-quartz should require unique timername
> --------------------------------------------
>
>                 Key: CAMEL-3239
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3239
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-quartz
>    Affects Versions: 2.4.0
>            Reporter: Bengt Rodehav
>            Priority: Minor
>             Fix For: 2.6.0
>
>
> I'm using camel-quartz (Camel 2.4) and have some problems with the timer name (part of
the URI).
> It seems that if I have two different routes (using camel-quartz) with the same timername,
only one of the quartz endpoints will be activated, e g:
> from("quartz://mytimername"?cron=0+*+*+*+*+?+*").to(endpoint1)
> from("quartz://mytimername"?cron=30+*+*+*+*+?+*").to(endpoint2)
> If I make sure that the timernames are unique, both quartz endpoints will work. Thus
I conclude that the timername must be unique (maybe this is a quartz thing and not a camel-quartz
thing).
> However, I get no indication that something is wrong since the camel route is started
and looks fine although the quartz endpoint will never trigger. This is not a good situation.
In my case I use this for monitoring purposes. I thought that the monitoring worked fine but
it was actually never triggered at all.
> I'm not sure if this due to camel-quartz or quartz itself. However, if it is possible
for camel-quartz to determine that the endpoint was created OK (not OK if duplicate timer
names), then this should case the camel context to fail.
> I run this in an OSGi environment (Karaf 1.6.0). Thus routes like the above can be created
independent of each other which makes it hard to guarantee that the timername is unique.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message