[jboss-svn-commits] JBL Code SVN: r14411 - in labs/jbossesb/trunk/product: rosetta/src/org/jboss/soa/esb and 11 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Aug 21 06:04:09 EDT 2007
Author: tfennelly
Date: 2007-08-21 06:04:09 -0400 (Tue, 21 Aug 2007)
New Revision: 14411
Added:
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/Initializable.java
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventListener.java
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-06.xml
labs/jbossesb/trunk/product/samples/quickstarts/conf/quickstarts.properties
Modified:
labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduleListener.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduledEventMessageComposer.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ScheduleProviderFactory.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ServicePublisher.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ScheduledListenerMapper.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduleProvider.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduledEventListener.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/SimpleSchedule.java
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config-configtree.xml
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config.xml
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/SchedulingUnitTest.java
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-01.xml
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-02.xml
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-03.xml
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-04-JBESB-843.xml
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-04.xml
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-05.xml
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/expected-config-01-listener.xml
labs/jbossesb/trunk/product/samples/quickstarts/scheduled_services/jboss-esb.xml
labs/jbossesb/trunk/product/services/jbossesb/src/main/resources/META-INF/jboss-esb.xml
labs/jbossesb/trunk/product/services/jbossesb/src/test/java/org/jboss/soa/esb/persistence/tests/config-01.xml
Log:
http://jira.jboss.com/jira/browse/JBESB-822
Modified: labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd
===================================================================
--- labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd 2007-08-21 10:04:09 UTC (rev 14411)
@@ -149,9 +149,9 @@
<xsd:documentation xml:lang="en">Schedule frequency, in seconds.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
- <xsd:attribute name="repeatCount" use="optional" type="xsd:int" default="-1">
+ <xsd:attribute name="execCount" use="optional" type="xsd:int" default="-1">
<xsd:annotation>
- <xsd:documentation xml:lang="en">Schedule repeat count. -1 to repeat indefinitely.</xsd:documentation>
+ <xsd:documentation xml:lang="en">Schedule execution count. -1 to execute indefinitely.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
@@ -349,7 +349,7 @@
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="jesb:abstract-scheduled-listener">
- <xsd:attribute name="composer" use="required" type="xsd:string">
+ <xsd:attribute name="event-processor" use="required" type="xsd:string">
<xsd:annotation>
<xsd:documentation xml:lang="en">Message Composer class name.</xsd:documentation>
</xsd:annotation>
Added: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/Initializable.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/Initializable.java (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/Initializable.java 2007-08-21 10:04:09 UTC (rev 14411)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+/**
+ * Marker interface for all ConfigTree initializable class.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public interface Initializable {
+
+ /**
+ * Initialize.
+ * @param config The configuration.
+ */
+ public void initialize(ConfigTree config) throws ConfigurationException;
+
+ /**
+ * Uninitialize.
+ */
+ public void uninitialize();
+}
Property changes on: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/Initializable.java
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduleListener.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduleListener.java 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduleListener.java 2007-08-21 10:04:09 UTC (rev 14411)
@@ -26,6 +26,8 @@
import org.jboss.soa.esb.schedule.SchedulingException;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.Initializable;
+import org.jboss.soa.esb.util.ClassUtil;
import org.jboss.soa.esb.message.Message;
/**
@@ -44,9 +46,9 @@
*/
private ActionProcessingPipeline pipeline;
/**
- * Event message composer.
+ * Event message processor.
*/
- private ScheduledEventMessageComposer composer;
+ private Initializable eventProcessor;
/**
* Construct the managed lifecycle.
@@ -58,16 +60,39 @@
public ScheduleListener(ConfigTree config) throws ConfigurationException {
super(config);
- // Construct the Message processing pipeline instance...
- pipeline = new ActionProcessingPipeline(getConfig());
- pipeline.initialise();
+ // Construct the message composer instance...
+ String eventProcessorClass = config.getRequiredAttribute("event-processor");
+ try {
+ eventProcessor = (Initializable) ClassUtil.forName(eventProcessorClass, ScheduleListener.class).newInstance();
+ } catch (ClassCastException e) {
+ throwBadImplException(eventProcessorClass);
+ } catch (ClassNotFoundException e) {
+ throw new ConfigurationException("Event Processor class [" + eventProcessorClass + "] not found in classpath.", e);
+ } catch (InstantiationException e) {
+ throw new ConfigurationException("Failed to instantiate Event Processor class [" + eventProcessorClass + "].", e);
+ } catch (IllegalAccessException e) {
+ throw new ConfigurationException("Failed to instantiate Event Processor class [" + eventProcessorClass + "].", e);
+ }
- // Construct the message composer instance...
- String composerClassName = config.getRequiredAttribute("composer");
- composer = ScheduledEventMessageComposer.Factory.createInstance(composerClassName);
- composer.initialize(config);
+ if(!(eventProcessor instanceof ScheduledEventListener) && !(eventProcessor instanceof ScheduledEventMessageComposer)) {
+ throwBadImplException(eventProcessorClass);
+ }
+ eventProcessor.initialize(config);
+
+ // Only construct a pipeline if it's a composer...
+ if(eventProcessor instanceof ScheduledEventMessageComposer) {
+ // Construct the Message processing pipeline instance...
+ pipeline = new ActionProcessingPipeline(getConfig());
+ pipeline.initialise();
+ }
}
+ private void throwBadImplException(String eventProcessorClass) throws ConfigurationException {
+ throw new ConfigurationException("The 'even-processor' class '" + eventProcessorClass +
+ "' must implement one of '" + ScheduledEventMessageComposer.class.getName() + "' or '" +
+ ScheduledEventListener.class.getName() + "'.");
+ }
+
/**
* On schedule event processor implementation.
* @throws SchedulingException Error processing scheduled event.
@@ -75,14 +100,25 @@
public void onSchedule() throws SchedulingException {
Message message;
- message = composer.composeMessage();
- pipeline.process(message);
- composer.onProcessingComplete(message);
+ if(eventProcessor instanceof ScheduledEventMessageComposer) {
+ message = ((ScheduledEventMessageComposer)eventProcessor).composeMessage();
+ pipeline.process(message);
+ ((ScheduledEventMessageComposer)eventProcessor).onProcessingComplete(message);
+ } else {
+ ((ScheduledEventListener)eventProcessor).onSchedule();
+ }
}
protected void doInitialise() throws ManagedLifecycleException {
}
+ public void initialize(ConfigTree config) throws ConfigurationException {
+ // TODO Convert lifecycle code to use the Initializable interface.
+ }
+
+ public void uninitialize() {
+ }
+
protected void doStart() throws ManagedLifecycleException {
}
@@ -90,7 +126,9 @@
}
protected void doDestroy() throws ManagedLifecycleException {
- composer.uninitialize();
- pipeline.destroy() ;
+ eventProcessor.uninitialize();
+ if(pipeline != null) {
+ pipeline.destroy() ;
+ }
}
}
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduledEventMessageComposer.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduledEventMessageComposer.java 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduledEventMessageComposer.java 2007-08-21 10:04:09 UTC (rev 14411)
@@ -23,6 +23,7 @@
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.util.ClassUtil;
import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.Initializable;
import org.jboss.soa.esb.schedule.SchedulingException;
import org.jboss.internal.soa.esb.assertion.AssertArgument;
@@ -32,20 +33,9 @@
* @author <a href="daniel.bevenius at redpill.se">Daniel Bevenius</a>
* @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
*/
-public interface ScheduledEventMessageComposer {
+public interface ScheduledEventMessageComposer extends Initializable {
/**
- * Initialize the composer.
- * @param config Composer configuration.
- */
- public void initialize(ConfigTree config) throws ConfigurationException;
-
- /**
- * Uninitialize the composer.
- */
- public void uninitialize();
-
- /**
* Compose an ESB "aware" message.
* <p/>
* Called by the {@link org.jboss.soa.esb.schedule.ScheduledEventListener#onSchedule()} method.
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ScheduleProviderFactory.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ScheduleProviderFactory.java 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ScheduleProviderFactory.java 2007-08-21 10:04:09 UTC (rev 14411)
@@ -96,7 +96,7 @@
schedule = simpleSchedule = new SimpleSchedule(scheduleId);
simpleSchedule.setFrequency(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getFrequency());
- simpleSchedule.setRepeatCount(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getRepeatCount());
+ simpleSchedule.setExecCount(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getExecCount());
} else {
CronSchedule cronSchedule;
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ServicePublisher.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ServicePublisher.java 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ServicePublisher.java 2007-08-21 10:04:09 UTC (rev 14411)
@@ -140,6 +140,10 @@
@SuppressWarnings("unchecked")
private static ContractPublisher getConractPublisher(Service service) {
+ if(service.getActions() == null || service.getActions().getActionList() == null) {
+ return null;
+ }
+
for (Action action : service.getActions().getActionList()) {
Class<Class> actionClass;
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ScheduledListenerMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ScheduledListenerMapper.java 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ScheduledListenerMapper.java 2007-08-21 10:04:09 UTC (rev 14411)
@@ -33,7 +33,7 @@
public static Element map(Element root, ScheduledListenerDocument.ScheduledListener scheduledListener) {
Element listenerNode = YADOMUtil.addElement(root, scheduledListener.getName());
- listenerNode.setAttribute("composer", scheduledListener.getComposer());
+ listenerNode.setAttribute("event-processor", scheduledListener.getEventProcessor());
listenerNode.setAttribute(ListenerTagNames.LISTENER_CLASS_TAG, ScheduleListener.class.getName());
// Map the <property> elements targeted at the listener - from the listener itself.
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java 2007-08-21 10:04:09 UTC (rev 14411)
@@ -102,6 +102,13 @@
}
}
+ public void initialize(ConfigTree config) throws ConfigurationException {
+ // TODO Convert lifecycle code to use the Initializable interface.
+ }
+
+ public void uninitialize() {
+ }
+
protected void doStart() throws ManagedLifecycleException {
}
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduleProvider.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduleProvider.java 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduleProvider.java 2007-08-21 10:04:09 UTC (rev 14411)
@@ -22,6 +22,7 @@
import org.jboss.soa.esb.ConfigurationException;
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;
+import org.apache.log4j.Logger;
import java.util.Properties;
import java.util.List;
@@ -37,7 +38,9 @@
* @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
*/
public class ScheduleProvider {
-
+
+ private static Logger logger = Logger.getLogger(ScheduleProvider.class);
+
/* Quartz scheduler instance */
private Scheduler scheduler;
private List<Schedule> schedules;
@@ -65,10 +68,14 @@
if(schedule instanceof SimpleSchedule) {
SimpleSchedule simpleSchedule = (SimpleSchedule) schedule;
- if(simpleSchedule.getRepeatCount() == -1) {
+ if(simpleSchedule.getExecCount() == -1) {
trigger = TriggerUtils.makeSecondlyTrigger((int) simpleSchedule.getFrequency());
+ } else if(simpleSchedule.getExecCount() == 0) {
+ logger.warn("<simple-schedule> '" + scheduleId + "' has an execCount of 0 configured. This schedule will not fire!");
+ return;
} else {
- trigger = TriggerUtils.makeSecondlyTrigger((int) simpleSchedule.getFrequency(), simpleSchedule.getRepeatCount());
+ // So the repeatCount = execCount - 1 ....
+ trigger = TriggerUtils.makeSecondlyTrigger((int) simpleSchedule.getFrequency(), (simpleSchedule.getExecCount() - 1));
}
trigger.setName(simpleSchedule.getScheduleid());
} else {
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduledEventListener.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduledEventListener.java 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduledEventListener.java 2007-08-21 10:04:09 UTC (rev 14411)
@@ -19,6 +19,8 @@
*/
package org.jboss.soa.esb.schedule;
+import org.jboss.soa.esb.Initializable;
+
/**
* Schedule Listener.
* <p/>
@@ -29,7 +31,7 @@
* @author <a href="daniel.bevenius at redpill.se">Daniel Bevenius</a>
* @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
*/
-public interface ScheduledEventListener {
+public interface ScheduledEventListener extends Initializable {
/**
* On schedule event processor.
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/SimpleSchedule.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/SimpleSchedule.java 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/SimpleSchedule.java 2007-08-21 10:04:09 UTC (rev 14411)
@@ -25,7 +25,7 @@
* Example of simple configuration:
* <pre>
* <property name="frequency" value="10"/>
- * <property name="repeatCount" value="10"/>
+ * <property name="execCount" value="10"/>
* <property name="startDate" value="yy-MM-dd HH:mm:ss"/>
* <property name="endDate" value="yy-MM-dd HH:mm:ss"/>
* </pre>
@@ -38,7 +38,7 @@
/* polling frequency in seconds */
private long frequency;
/* nr of times to execute */
- private int repeatCount;
+ private int execCount;
public SimpleSchedule(String scheduleid) {
super(scheduleid);
@@ -52,11 +52,11 @@
this.frequency = frequency;
}
- public int getRepeatCount() {
- return repeatCount;
+ public int getExecCount() {
+ return execCount;
}
- public void setRepeatCount(int repeatCount) {
- this.repeatCount = repeatCount;
+ public void setExecCount(int execCount) {
+ this.execCount = execCount;
}
}
Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config-configtree.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config-configtree.xml 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config-configtree.xml 2007-08-21 10:04:09 UTC (rev 14411)
@@ -1,3 +1,3 @@
-<simple-schedule-listener composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" listenerClass="org.jboss.soa.esb.listeners.ScheduleListener" my-prop="1" scheduleidref="1-sec-trigger">
+<simple-schedule-listener event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" listenerClass="org.jboss.soa.esb.listeners.ScheduleListener" my-prop="1" scheduleidref="1-sec-trigger">
<action action="action" class="org.jboss.soa.esb.mock.MockAction"/>
</simple-schedule-listener>
\ No newline at end of file
Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config.xml 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config.xml 2007-08-21 10:04:09 UTC (rev 14411)
@@ -11,7 +11,7 @@
<service category="ServiceCat" name="ServiceName" description="Test Service">
<listeners>
- <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer">
+ <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer">
<property name="my-prop" value="1" />
</scheduled-listener>
</listeners>
Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventListener.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventListener.java (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventListener.java 2007-08-21 10:04:09 UTC (rev 14411)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.schedule;
+
+import org.jboss.soa.esb.listeners.ScheduledEventMessageComposer;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class MockScheduledEventListener implements ScheduledEventListener {
+
+ public static ConfigTree config;
+ public static boolean onSchedule;
+ public static boolean uninitialised;
+
+ public static void reset() {
+ config = null;
+ onSchedule = false;
+ uninitialised = false;
+ }
+
+ public void initialize(ConfigTree config) {
+ MockScheduledEventListener.config = config;
+ }
+
+ public void onSchedule() throws SchedulingException {
+ onSchedule = true;
+ }
+
+ public void uninitialize() {
+ uninitialised = true;
+ }
+}
Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventListener.java
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/SchedulingUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/SchedulingUnitTest.java 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/SchedulingUnitTest.java 2007-08-21 10:04:09 UTC (rev 14411)
@@ -40,6 +40,7 @@
protected void setUp() throws Exception {
MockScheduledEventMessageComposer.reset();
+ MockScheduledEventListener.reset();
MockAction.message = null;
}
@@ -98,6 +99,15 @@
assertTrue(MockScheduledEventMessageComposer.composedMessages.size() > 1);
}
+ public void test_simple_schedule_06() throws UnsupportedEncodingException, ParamRepositoryException, ConfigurationException, ManagedLifecycleException, SAXException, InterruptedException {
+ runTestConfig("config-06.xml", 5000);
+
+ // Check that the scheduling happened as defined in the config...
+ assertNotNull(MockScheduledEventListener.config);
+ assertTrue(MockScheduledEventListener.onSchedule);
+ assertTrue(MockScheduledEventListener.uninitialised);
+ }
+
private void runTestConfig(String configName, long upTime) throws ParamRepositoryException, ConfigurationException, ManagedLifecycleException, SAXException, InterruptedException {
ESBConfigUtil configUtil = new ESBConfigUtil(getClass().getResourceAsStream(configName));
Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-01.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-01.xml 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-01.xml 2007-08-21 10:04:09 UTC (rev 14411)
@@ -3,7 +3,7 @@
<providers>
<schedule-provider name="schedule">
- <simple-schedule scheduleid="1-sec-trigger" frequency="1" repeatCount="1" />
+ <simple-schedule scheduleid="1-sec-trigger" frequency="1" execCount="2" />
</schedule-provider>
</providers>
@@ -11,7 +11,7 @@
<service category="ServiceCat" name="ServiceName-01" description="Test Service">
<listeners>
- <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
+ <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
</listeners>
<actions>
@@ -21,7 +21,7 @@
<service category="ServiceCat" name="ServiceName-02" description="Test Service">
<listeners>
- <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
+ <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
</listeners>
<actions>
Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-02.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-02.xml 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-02.xml 2007-08-21 10:04:09 UTC (rev 14411)
@@ -12,7 +12,7 @@
<service category="ServiceCat" name="ServiceName" description="Test Service">
<listeners>
- <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
+ <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
</listeners>
<actions>
Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-03.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-03.xml 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-03.xml 2007-08-21 10:04:09 UTC (rev 14411)
@@ -5,7 +5,7 @@
<service category="ServiceCat" name="ServiceName" description="Test Service">
<listeners>
- <scheduled-listener name="simple-schedule-listener" schedule-frequency="1" composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
+ <scheduled-listener name="simple-schedule-listener" schedule-frequency="1" event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
</listeners>
<actions>
Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-04-JBESB-843.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-04-JBESB-843.xml 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-04-JBESB-843.xml 2007-08-21 10:04:09 UTC (rev 14411)
@@ -5,7 +5,7 @@
<service category="ServiceCat" name="ServiceName" description="Test Service">
<listeners>
- <scheduled-listener name="simple-schedule-listener" composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer">
+ <scheduled-listener name="simple-schedule-listener" event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer">
<property name="pollLatencySeconds" value="1" />
</scheduled-listener>
</listeners>
Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-04.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-04.xml 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-04.xml 2007-08-21 10:04:09 UTC (rev 14411)
@@ -5,7 +5,7 @@
<service category="ServiceCat" name="ServiceName" description="Test Service">
<listeners>
- <scheduled-listener name="simple-schedule-listener" poll-frequency-seconds="1" composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
+ <scheduled-listener name="simple-schedule-listener" poll-frequency-seconds="1" event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
</listeners>
<actions>
Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-05.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-05.xml 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-05.xml 2007-08-21 10:04:09 UTC (rev 14411)
@@ -11,7 +11,7 @@
<service category="ServiceCat" name="ServiceName" description="Test Service">
<listeners>
- <scheduled-listener name="cron-schedule-listener" scheduleidref="cron-trigger" composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
+ <scheduled-listener name="cron-schedule-listener" scheduleidref="cron-trigger" event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
</listeners>
<actions>
Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-06.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-06.xml (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-06.xml 2007-08-21 10:04:09 UTC (rev 14411)
@@ -0,0 +1,18 @@
+<?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">
+
+ <providers>
+ <schedule-provider name="schedule">
+ <cron-schedule scheduleid="cron-trigger" cronExpression="0/1 * * * * ?" />
+ </schedule-provider>
+ </providers>
+
+ <services>
+ <service category="ServiceCat" name="ServiceName" description="Test Service">
+ <listeners>
+ <scheduled-listener name="cron-schedule-listener" scheduleidref="cron-trigger" event-processor="org.jboss.soa.esb.schedule.MockScheduledEventListener" />
+ </listeners>
+ </service>
+ </services>
+
+</jbossesb>
\ No newline at end of file
Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-06.xml
___________________________________________________________________
Name: svn:mime-type
+ text/xml
Name: svn:eol-style
+ native
Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/expected-config-01-listener.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/expected-config-01-listener.xml 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/expected-config-01-listener.xml 2007-08-21 10:04:09 UTC (rev 14411)
@@ -1,3 +1,3 @@
-<simple-schedule-listener composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" listenerClass="org.jboss.soa.esb.listeners.ScheduleListener" scheduleidref="1-sec-trigger">
+<simple-schedule-listener event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" listenerClass="org.jboss.soa.esb.listeners.ScheduleListener" scheduleidref="1-sec-trigger">
<action action="action" class="org.jboss.soa.esb.mock.MockAction"/>
</simple-schedule-listener>
\ No newline at end of file
Added: labs/jbossesb/trunk/product/samples/quickstarts/conf/quickstarts.properties
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/conf/quickstarts.properties (rev 0)
+++ labs/jbossesb/trunk/product/samples/quickstarts/conf/quickstarts.properties 2007-08-21 10:04:09 UTC (rev 14411)
@@ -0,0 +1,18 @@
+
+##############################################################################################
+# Environment specific properties for executing the quickstarts.
+##############################################################################################
+# Location of your JBoss Application Server installation.
+#org.jboss.esb.server.home=${product.dir}/build/jbossesb-server-4.2.MR1
+org.jboss.esb.server.home=/jboss-4.2.0.GA
+
+# JBossAS server name. If not set defaults to 'default'
+org.jboss.esb.server.config=default
+#org.jboss.esb.server.config=quickstarts
+
+
+# If you are running the ftp tests then you must complete the following
+jbossesb.ftp.hostname=127.0.0.1:21
+jbossesb.ftp.username=esb
+jbossesb.ftp.password=esb
+jbossesb.ftp.directory=/
Property changes on: labs/jbossesb/trunk/product/samples/quickstarts/conf/quickstarts.properties
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Modified: labs/jbossesb/trunk/product/samples/quickstarts/scheduled_services/jboss-esb.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/scheduled_services/jboss-esb.xml 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/samples/quickstarts/scheduled_services/jboss-esb.xml 2007-08-21 10:04:09 UTC (rev 14411)
@@ -5,7 +5,7 @@
<providers>
<schedule-provider name="scheduler">
- <simple-schedule scheduleid="3-sec-trigger" frequency="3" repeatCount="2" />
+ <simple-schedule scheduleid="3-sec-trigger" frequency="3" execCount="2" />
</schedule-provider>
</providers>
@@ -16,7 +16,7 @@
<listeners>
<scheduled-listener name="my_scheduled_listener"
scheduleidref="3-sec-trigger"
- composer="org.jboss.soa.esb.samples.quickstart.scheduler.MyScheduledActionMsgComposer" />
+ event-processor="org.jboss.soa.esb.samples.quickstart.scheduler.MyScheduledActionMsgComposer" />
</listeners>
<actions>
<action name="first"
Modified: labs/jbossesb/trunk/product/services/jbossesb/src/main/resources/META-INF/jboss-esb.xml
===================================================================
--- labs/jbossesb/trunk/product/services/jbossesb/src/main/resources/META-INF/jboss-esb.xml 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/services/jbossesb/src/main/resources/META-INF/jboss-esb.xml 2007-08-21 10:04:09 UTC (rev 14411)
@@ -20,7 +20,7 @@
</jms-bus>
</jms-provider>
<schedule-provider name="schedule">
- <simple-schedule scheduleid="5-min-trigger" frequency="300" repeatCount="-1"/>
+ <simple-schedule scheduleid="5-min-trigger" frequency="300" execCount="-1"/>
</schedule-provider>
</providers>
@@ -69,7 +69,7 @@
</service>
<service category="JBossESB-Internal" name="RedeliverService" description="Scheduled Service to Redeliver Messages">
<listeners>
- <scheduled-listener name="redeliver-scheduled-listener" scheduleidref="5-min-trigger" composer="org.jboss.soa.esb.schedule.RedeliverEventMessageComposer" />
+ <scheduled-listener name="redeliver-scheduled-listener" scheduleidref="5-min-trigger" event-processor="org.jboss.soa.esb.schedule.RedeliverEventMessageComposer" />
</listeners>
<actions>
<action name="RedeliverMessagesAction" class="org.jboss.soa.esb.actions.MessageRedeliverer">
Modified: labs/jbossesb/trunk/product/services/jbossesb/src/test/java/org/jboss/soa/esb/persistence/tests/config-01.xml
===================================================================
--- labs/jbossesb/trunk/product/services/jbossesb/src/test/java/org/jboss/soa/esb/persistence/tests/config-01.xml 2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/services/jbossesb/src/test/java/org/jboss/soa/esb/persistence/tests/config-01.xml 2007-08-21 10:04:09 UTC (rev 14411)
@@ -3,14 +3,14 @@
<providers>
<schedule-provider name="schedule">
- <simple-schedule scheduleid="1-sec-trigger" frequency="1" repeatCount="2"/>
+ <simple-schedule scheduleid="1-sec-trigger" frequency="1" execCount="2"/>
</schedule-provider>
</providers>
<services>
<service category="ServiceCat" name="ServiceName" description="Test Service">
<listeners>
- <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" composer="org.jboss.soa.esb.schedule.RedeliverEventMessageComposer" />
+ <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" event-processor="org.jboss.soa.esb.schedule.RedeliverEventMessageComposer" />
</listeners>
<actions>
<action name="RedeliverMessagesAction" class="org.jboss.soa.esb.actions.MessageRedeliverer">
More information about the jboss-svn-commits
mailing list