Return-Path: Delivered-To: apmail-camel-commits-archive@www.apache.org Received: (qmail 47786 invoked from network); 6 Feb 2011 08:49:44 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 6 Feb 2011 08:49:44 -0000 Received: (qmail 4151 invoked by uid 500); 6 Feb 2011 08:49:44 -0000 Delivered-To: apmail-camel-commits-archive@camel.apache.org Received: (qmail 4097 invoked by uid 500); 6 Feb 2011 08:49:43 -0000 Mailing-List: contact commits-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list commits@camel.apache.org Received: (qmail 4090 invoked by uid 99); 6 Feb 2011 08:49:42 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 06 Feb 2011 08:49:42 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 06 Feb 2011 08:49:40 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id F3B5D23889D7; Sun, 6 Feb 2011 08:49:18 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1067615 - in /camel/trunk/components/camel-quartz/src: main/java/org/apache/camel/component/quartz/QuartzComponent.java test/java/org/apache/camel/component/quartz/QuartzNameCollisionTest.java Date: Sun, 06 Feb 2011 08:49:18 -0000 To: commits@camel.apache.org From: davsclaus@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110206084918.F3B5D23889D7@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: davsclaus Date: Sun Feb 6 08:49:18 2011 New Revision: 1067615 URL: http://svn.apache.org/viewvc?rev=1067615&view=rev Log: CAMEL-3239: Fixed unique jobname check for stateful jobs. Thanks to Tracy Snell for the patch. Modified: camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzNameCollisionTest.java Modified: camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java?rev=1067615&r1=1067614&r2=1067615&view=diff ============================================================================== --- camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java (original) +++ camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java Sun Feb 6 08:49:18 2011 @@ -112,9 +112,10 @@ public class QuartzComponent extends Def Map jobParameters = IntrospectionSupport.extractProperties(parameters, "job."); Trigger trigger; + boolean stateful = "true".equals(parameters.get("stateful")); - // if we're starting up and not running in Quartz clustered mode then check for a name conflict. - if (!isClustered()) { + // if we're starting up and not running in Quartz clustered mode or not stateful then check for a name conflict. + if (!isClustered() && !stateful) { // check to see if this trigger already exists trigger = getScheduler().getTrigger(name, group); if (trigger != null) { @@ -267,7 +268,7 @@ public class QuartzComponent extends Def LOG.debug("Cannot delete job using trigger: " + group + "/" + name + " as the JobStore is clustered."); } } else { - Trigger trigger = getScheduler().getTrigger(name, group); + Trigger trigger = getScheduler().getTrigger(name, group); if (trigger != null) { if (LOG.isDebugEnabled()) { LOG.debug("Deleting job using trigger: " + group + "/" + name); Modified: camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzNameCollisionTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzNameCollisionTest.java?rev=1067615&r1=1067614&r2=1067615&view=diff ============================================================================== --- camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzNameCollisionTest.java (original) +++ camel/trunk/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzNameCollisionTest.java Sun Feb 6 08:49:18 2011 @@ -56,6 +56,28 @@ public class QuartzNameCollisionTest { /** + * Don't check for a name collision if the job is stateful. + */ + @Test + public void testNoStatefulCollisionError() throws Exception { + camel1 = new DefaultCamelContext(); + camel1.setName("camel-1"); + camel1.addRoutes(new RouteBuilder() { + @Override + public void configure() throws Exception { + from("quartz://myGroup/myTimerName?stateful=true&cron=0/1+*+*+*+*+?").to("log:one", "mock:one"); + } + }); + camel1.start(); + + camel2 = new DefaultCamelContext(); + QuartzComponent component2 = new QuartzComponent(camel2); + + component2.createEndpoint("quartz://myGroup/myTimerName?stateful=true"); + // if no exception is thrown then this test passed. + } + + /** * Make sure a resume doesn't trigger a dupe name error. */ @Test