[
https://issues.apache.org/jira/browse/CAMEL-3239?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tracy Snell updated CAMEL-3239:
-------------------------------
Attachment: patchfile.txt
Fixed without all the crazy hacked name stuff I pondered early on. Still a dire
need for another set of eyes and a sanity check. Should be pretty easy to
follow the changes.
Quick summary. Added a check on endpoint creation that checks with the
scheduler to see if a job with the name/group already exists. Added a shutdown
hook in QuartzEndpoint and refactored some names so they were a bit clearer.
QuartzComponent
- Added a check in createEndpoint to see if the job name already exists. (only
if running in non clustered mode
- New method deleteJob called by the endpoint when it's shutting down to remove
the job from the scheduler
- Renamed removeJob to pauseJob Removed the job.isVolatile check. Volatility
tells the scheduler if it should persist a job through reboots. Doesn't make
sense here.
QuartzEndpoint
- changed implements Service to ShutdownableService
- Added deleteTrigger
- Renamed removeTrigger to pauseTrigger
- Added shutdown to use to remove the trigger/job
QuartzNameCollisionTest
- New tests to check for various name collision scenarios
> 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
> Assignee: Tracy Snell
> Priority: Minor
> Fix For: 2.6.0
>
> Attachments: patchfile.txt
>
>
> 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.