[jboss-svn-commits] JBL Code SVN: r17227 - in labs/jbossesb/workspace/bramley/product/rosetta: tests/src/org/jboss/soa/esb/schedule and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Dec 13 13:47:00 EST 2007


Author: tfennelly
Date: 2007-12-13 13:47:00 -0500 (Thu, 13 Dec 2007)
New Revision: 17227

Added:
   labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-03.1.xml
Modified:
   labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduleProvider.java
   labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventListener.java
   labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/SchedulingUnitTest.java
Log:
Make the scheduler jobs "stateful" - so as it doesn't exec the same job concurrently

Modified: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduleProvider.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduleProvider.java	2007-12-13 16:05:08 UTC (rev 17226)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduleProvider.java	2007-12-13 18:47:00 UTC (rev 17227)
@@ -204,7 +204,7 @@
         }
     }
 
-    public static class ESBScheduledJob implements Job {
+    public static class ESBScheduledJob implements StatefulJob {
         public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
             final JobDataMap jobDataMap = jobExecutionContext.getJobDetail().getJobDataMap() ;
             ScheduledEventListener listener = (ScheduledEventListener) jobDataMap.get(ScheduledEventListener.class.getName());

Modified: labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventListener.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventListener.java	2007-12-13 16:05:08 UTC (rev 17226)
+++ labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventListener.java	2007-12-13 18:47:00 UTC (rev 17227)
@@ -29,11 +29,15 @@
     public static ConfigTree config;
     public static boolean onSchedule;
     public static boolean uninitialised;
+    public static int execCount;
+    public static long sleep;
 
     public static void reset() {
         config = null;
         onSchedule = false;
         uninitialised = false;
+        execCount = 0;
+        sleep = 0;
     }
 
     public void initialize(ConfigTree config) {
@@ -42,6 +46,14 @@
 
     public void onSchedule() throws SchedulingException {
         onSchedule = true;
+        execCount++;
+        if(sleep > 0) {
+            try {
+                Thread.sleep(sleep);
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+        }
     }
 
     public void uninitialize() {

Modified: labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/SchedulingUnitTest.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/SchedulingUnitTest.java	2007-12-13 16:05:08 UTC (rev 17226)
+++ labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/SchedulingUnitTest.java	2007-12-13 18:47:00 UTC (rev 17227)
@@ -85,6 +85,14 @@
         assertTrue(MockScheduledEventMessageComposer.composedMessages.size() > 1);
     }
 
+    public void test_simple_schedule_03_1() throws UnsupportedEncodingException, ParamRepositoryException, ConfigurationException, ManagedLifecycleException, SAXException, InterruptedException {
+        MockScheduledEventListener.sleep = 6000;
+        runTestConfig("config-03.1.xml", 7000);
+
+        // Just check that the schedule wasn't run concrurrently...
+        assertTrue(MockScheduledEventListener.execCount < 3);
+    }
+
     public void test_simple_schedule_04() throws UnsupportedEncodingException, ParamRepositoryException, ConfigurationException, ManagedLifecycleException, SAXException, InterruptedException {
         runTestConfig("config-04.xml", 5000);
 

Copied: labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-03.1.xml (from rev 17196, labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-03.xml)
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-03.1.xml	                        (rev 0)
+++ labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-03.1.xml	2007-12-13 18:47:00 UTC (rev 17227)
@@ -0,0 +1,17 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
+
+    <services>
+        <service category="ServiceCat" name="ServiceName" description="Test Service">
+
+            <listeners>
+                <scheduled-listener name="simple-schedule-listener" schedule-frequency="1" event-processor="org.jboss.soa.esb.schedule.MockScheduledEventListener" />
+            </listeners>
+
+            <actions>
+                <action name="action" class="org.jboss.soa.esb.mock.MockAction" />
+            </actions>			
+        </service>
+    </services>
+
+</jbossesb>
\ No newline at end of file




More information about the jboss-svn-commits mailing list