[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