[jboss-svn-commits] JBL Code SVN: r17302 - in labs/jbossesb/workspace/bramley/product: etc/schemas/xml and 12 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Dec 18 09:55:09 EST 2007
Author: tfennelly
Date: 2007-12-18 09:55:09 -0500 (Tue, 18 Dec 2007)
New Revision: 17302
Added:
labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/Configurable.java
labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/actions/PipelineProcessingContext.java
Modified:
labs/jbossesb/workspace/bramley/product/build.xml
labs/jbossesb/workspace/bramley/product/etc/schemas/xml/jbossesb-1.0.1.xsd
labs/jbossesb/workspace/bramley/product/product.properties
labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/couriers/CourierFactory.java
labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/lifecycle/LifecycleResource.java
labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduleListener.java
labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduledEventMessageComposer.java
labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/config/ScheduleProviderFactory.java
labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
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/SimpleSchedule.java
labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/listeners/ScheduledListenerUnitTest.java
labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventMessageComposer.java
labs/jbossesb/workspace/bramley/product/samples/quickstarts/helloworld_action/jboss-esb.xml
labs/jbossesb/workspace/bramley/product/services/jbossesb/src/main/java/org/jboss/soa/esb/schedule/RedeliverEventMessageComposer.java
Log:
Some schedule provider mods
Modified: labs/jbossesb/workspace/bramley/product/build.xml
===================================================================
--- labs/jbossesb/workspace/bramley/product/build.xml 2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/build.xml 2007-12-18 14:55:09 UTC (rev 17302)
@@ -34,7 +34,7 @@
<property name="org.jboss.esb.internal.jar.dest" location="build/jbossesb/lib"/>
<!-- JBoss ESB version -->
- <property name="version" value="4.2.1IR1"/>
+ <property name="version" value="4.2.1.BRAMLEY"/>
<property name="esb.server.name" value="jbossesb-server-${version}"/>
<property name="esbserver.dist.dir" value="${org.jboss.esb.internal.dest}/${esb.server.name}"/>
@@ -385,7 +385,7 @@
</fileset>
</copy>
- <echo message="Installing xml ${org.jboss.esb.installationdirectory}"/>
+ <echo message="Installing xml ${org.jboss.esb.installationdirectory}"/>
<mkdir dir="${org.jboss.esb.installationdirectory}/xml"/>
<copy
todir="${org.jboss.esb.installationdirectory}/xml"
@@ -409,9 +409,60 @@
<copy todir="${org.jboss.esb.internal.jar.dest}">
<fileset dir="build" includes="jbossesb.sar/**"/>
</copy>
+
+ <antcall target="install.bins.in.repo" />
</target>
-
- <!-- Build the tools into the main dist -->
+
+ <target name="install.bins.in.repo">
+ <available file="${repo}" type="dir" property="repo.available" />
+ <antcall target="echo.repo.unavailable"/>
+
+ <!-- The rosetta jar... -->
+ <antcall target="install.in.repo">
+ <param name="groupId" value="jboss" />
+ <param name="artifactId" value="jbossesb-rosetta" />
+ <param name="version" value="${version}" />
+ <param name="file" value="${org.jboss.esb.installationdirectory}/lib/jbossesb-rosetta.jar" />
+ <param name="ext" value="jar" />
+ </antcall>
+ <!-- The rosetta config xmlbeans model jar... -->
+ <antcall target="install.in.repo">
+ <param name="groupId" value="jboss" />
+ <param name="artifactId" value="jbossesb-rosetta-xmlbeans" />
+ <param name="version" value="${version}" />
+ <param name="file" value="${org.jboss.esb.installationdirectory}/lib/jbossesb-config-model-1.0.1.jar" />
+ <param name="ext" value="jar" />
+ </antcall>
+ <!-- The rosetta test util jar... -->
+ <antcall target="install.in.repo">
+ <param name="groupId" value="jboss" />
+ <param name="artifactId" value="jbossesb-rosetta-test-utils" />
+ <param name="version" value="${version}" />
+ <param name="file" value="${org.jboss.esb.installationdirectory}/lib/test-util.jar" />
+ <param name="ext" value="jar" />
+ </antcall>
+ <!-- The rosetta config xmlbeans model jar... -->
+ <antcall target="install.in.repo">
+ <param name="groupId" value="jboss" />
+ <param name="artifactId" value="jbossts-common" />
+ <param name="version" value="1.0" />
+ <param name="file" value="${org.jboss.esb.installationdirectory}/lib/ext/jbossts-common.jar" />
+ <param name="ext" value="jar" />
+ </antcall>
+ </target>
+
+ <target if="repo.available" name="install.in.repo">
+ <property name="artifact.install.dir" value="${repo}/${groupId}/${artifactId}/${version}" />
+
+ <mkdir dir="${artifact.install.dir}" />
+ <copy file="${file}" tofile="${artifact.install.dir}/${artifactId}-${version}.${ext}" overwrite="true" />
+ </target>
+
+ <target unless="repo.available" name="echo.repo.unavailable">
+ <echo message="Sorry, the configured repo '${repo}' is not accessible. Please configure the 'repo' property in your local product.properties file." />
+ </target>
+
+ <!-- Build the tools into the main dist -->
<target name="org.jboss.esb.tools">
<!-- Build the admin console webapp. -->
<ant dir="${console.dir}" target="dist">
Modified: labs/jbossesb/workspace/bramley/product/etc/schemas/xml/jbossesb-1.0.1.xsd
===================================================================
--- labs/jbossesb/workspace/bramley/product/etc/schemas/xml/jbossesb-1.0.1.xsd 2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/etc/schemas/xml/jbossesb-1.0.1.xsd 2007-12-18 14:55:09 UTC (rev 17302)
@@ -146,9 +146,14 @@
<xsd:extension base="jesb:schedule">
<xsd:attribute name="frequency" use="optional" type="xsd:long" default="10">
<xsd:annotation>
- <xsd:documentation xml:lang="en">Schedule frequency, in seconds.</xsd:documentation>
+ <xsd:documentation xml:lang="en">Schedule frequency.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
+ <xsd:attribute name="frequencyUnits" use="optional" type="jesb:frequency-unit" default="seconds">
+ <xsd:annotation>
+ <xsd:documentation xml:lang="en">Schedule frequency time units.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
<xsd:attribute name="execCount" use="optional" type="xsd:int" default="-1">
<xsd:annotation>
<xsd:documentation xml:lang="en">Schedule execution count. -1 to execute indefinitely.</xsd:documentation>
@@ -158,6 +163,12 @@
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
+ <xsd:simpleType name="frequency-unit">
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="seconds"/>
+ <xsd:enumeration value="milliseconds"/>
+ </xsd:restriction>
+ </xsd:simpleType>
<xsd:element name="cron-schedule" substitutionGroup="jesb:schedule">
<xsd:complexType>
Modified: labs/jbossesb/workspace/bramley/product/product.properties
===================================================================
--- labs/jbossesb/workspace/bramley/product/product.properties 2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/product.properties 2007-12-18 14:55:09 UTC (rev 17302)
@@ -5,6 +5,8 @@
org.jboss.esb.build.optimize=off
org.jboss.esb.build.debug=yes
+repo=m:/
+
# uncomment the following if you wish to use an app server installation
# for tests instead of the included jbossesb-server
#org.jboss.esb.server.home=<app server home>
Added: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/Configurable.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/Configurable.java (rev 0)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/Configurable.java 2007-12-18 14:55:09 UTC (rev 17302)
@@ -0,0 +1,38 @@
+/*
+ * 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;
+
+/**
+ * Configurable component.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public interface Configurable {
+ // This should eventually be supported through annotations.
+
+ /**
+ * Set the component configuration.
+ * @param config The conponent configuration.
+ * @throws ConfigurationException Bad component configuration.
+ */
+ public void setConfiguration(ConfigTree config) throws ConfigurationException;
+}
Property changes on: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/Configurable.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/actions/PipelineProcessingContext.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/actions/PipelineProcessingContext.java (rev 0)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/actions/PipelineProcessingContext.java 2007-12-18 14:55:09 UTC (rev 17302)
@@ -0,0 +1,54 @@
+/*
+ * 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.actions;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * Simple context class for pipeline processing.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class PipelineProcessingContext {
+
+ private Map contextMap = new LinkedHashMap();
+ private boolean pipelineInError = false;
+
+ public void set(Object key, Object value) {
+ contextMap.put(key, value);
+ }
+
+ public Object get(Object key) {
+ return contextMap.get(key);
+ }
+
+ public Object remove(Object key) {
+ return contextMap.remove(key);
+ }
+
+ public boolean isPipelineInError() {
+ return pipelineInError;
+ }
+
+ public void setPipelineInError(boolean pipelineInError) {
+ this.pipelineInError = pipelineInError;
+ }
+}
Property changes on: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/actions/PipelineProcessingContext.java
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/couriers/CourierFactory.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/couriers/CourierFactory.java 2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/couriers/CourierFactory.java 2007-12-18 14:55:09 UTC (rev 17302)
@@ -302,7 +302,7 @@
final String lifecycleIdentity)
throws LifecycleResourceException
{
- if (resource.size() > 0)
+ if (resource != null && !resource.isEmpty())
{
LOGGER.warn("Calling cleanup on existing couriers for identity " + lifecycleIdentity) ;
final Iterator<Entry<TwoWayCourier, Exception>> entryIter = resource.entrySet().iterator() ;
Modified: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/lifecycle/LifecycleResource.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/lifecycle/LifecycleResource.java 2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/lifecycle/LifecycleResource.java 2007-12-18 14:55:09 UTC (rev 17302)
@@ -117,12 +117,11 @@
{
return resource ;
}
- if (logger.isDebugEnabled())
- {
- logger.debug("Creating resource using factory: " + factory + " with identity " + identity) ;
- }
final R newResource = factory.createLifecycleResource(identity) ;
lifecycleResourceMap.put(identity, newResource) ;
+ if(logger.isDebugEnabled()) {
+ logger.debug("Created new Lifecycle Resource " + newResource + " for identity '" + identity + "'. Used factory '" + factory.getClass().getName() + "'.");
+ }
return newResource ;
}
finally
@@ -149,8 +148,12 @@
{
writeLock.unlock() ;
}
-
- cleanupLifecycleResource(factory, resource, identity) ;
+
+ if(resource != null) {
+ cleanupLifecycleResource(factory, resource, identity) ;
+ } else {
+ logger.info("Resource associated with lifecycle identity '" + identity + "' is null. Cannot cleanup resource.");
+ }
}
/**
Modified: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduleListener.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduleListener.java 2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduleListener.java 2007-12-18 14:55:09 UTC (rev 17302)
@@ -27,6 +27,7 @@
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.Initializable;
+import org.jboss.soa.esb.actions.PipelineProcessingContext;
import org.jboss.soa.esb.util.ClassUtil;
import org.jboss.soa.esb.message.Message;
@@ -98,15 +99,26 @@
* @throws SchedulingException Error processing scheduled event.
*/
public void onSchedule() throws SchedulingException {
- Message message;
+ Message message = null;
if(eventProcessor instanceof ScheduledEventMessageComposer) {
ScheduledEventMessageComposer composer = (ScheduledEventMessageComposer)eventProcessor;
- message = composer.composeMessage();
- if(message != null)
- {
- pipeline.process(message);
- composer.onProcessingComplete(message);
+ PipelineProcessingContext context = new PipelineProcessingContext();
+
+ try {
+ message = composer.composeMessage(context);
+ if(message != null) {
+ if(pipeline.process(message)) {
+ context.setPipelineInError(false);
+ } else {
+ context.setPipelineInError(true);
+ }
+ }
+ } catch(Throwable t) {
+ context.setPipelineInError(true);
+ throw new SchedulingException("Exception while processing message received through scheduled composer '" + composer.getClass().getName() + "'.", t);
+ } finally {
+ composer.onProcessingComplete(message, context);
}
} else {
((ScheduledEventListener)eventProcessor).onSchedule();
Modified: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduledEventMessageComposer.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduledEventMessageComposer.java 2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduledEventMessageComposer.java 2007-12-18 14:55:09 UTC (rev 17302)
@@ -19,12 +19,13 @@
*/
package org.jboss.soa.esb.listeners;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.util.ClassUtil;
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.Initializable;
+import org.jboss.soa.esb.actions.PipelineProcessingContext;
+import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.schedule.SchedulingException;
-import org.jboss.internal.soa.esb.assertion.AssertArgument;
+import org.jboss.soa.esb.util.ClassUtil;
/**
* Scheduled Event Composer.
@@ -39,10 +40,11 @@
* <p/>
* Called by the {@link org.jboss.soa.esb.schedule.ScheduledEventListener#onSchedule()} method.
*
+ * @param context Pipeline processing context instance.
* @return ESB aware message instance. If this method returns null the action pipeline will not be processed.
* @throws SchedulingException Failed to compose message on scheduled event.
*/
- public Message composeMessage() throws SchedulingException;
+ public Message composeMessage(PipelineProcessingContext context) throws SchedulingException;
/**
* Called by the {@link org.jboss.soa.esb.schedule.ScheduledEventListener} after processing of the
@@ -51,10 +53,11 @@
* This event can be used to perform any necessary cleanup processing for the {@link Message} instance etc.
*
* @param message ESB aware message instance to be decomposed.
+ * @param context Pipeline processing context instance.
* @return ESB unaware message instance - a message payload.
* @throws SchedulingException Error while processing the onProcessingComplete event.
*/
- public Message onProcessingComplete(Message message) throws SchedulingException;
+ public Message onProcessingComplete(Message message, PipelineProcessingContext context) throws SchedulingException;
/**
* Uitility factory class for reflective {@link ScheduledEventMessageComposer} construction.
Modified: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/config/ScheduleProviderFactory.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/config/ScheduleProviderFactory.java 2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/config/ScheduleProviderFactory.java 2007-12-18 14:55:09 UTC (rev 17302)
@@ -26,6 +26,7 @@
import org.jboss.soa.esb.listeners.config.xbeanmodel.ScheduleProviderDocument;
import org.jboss.soa.esb.listeners.config.xbeanmodel.SimpleScheduleDocument;
import org.jboss.soa.esb.listeners.config.xbeanmodel.CronScheduleDocument;
+import org.jboss.soa.esb.listeners.config.xbeanmodel.FrequencyUnit;
import java.util.List;
import java.util.Properties;
@@ -93,9 +94,14 @@
if(scheduleConfig instanceof SimpleScheduleDocument.SimpleSchedule) {
SimpleSchedule simpleSchedule;
+ FrequencyUnit.Enum frequencyUnit = ((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getFrequencyUnits();
schedule = simpleSchedule = new SimpleSchedule(scheduleId);
- simpleSchedule.setFrequency(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getFrequency());
+ if(frequencyUnit == FrequencyUnit.SECONDS) {
+ simpleSchedule.setFrequency(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getFrequency() * 1000);
+ } else {
+ simpleSchedule.setFrequency(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getFrequency());
+ }
simpleSchedule.setExecCount(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getExecCount());
} else {
CronSchedule cronSchedule;
Modified: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java 2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java 2007-12-18 14:55:09 UTC (rev 17302)
@@ -44,6 +44,7 @@
import org.jboss.soa.esb.listeners.message.errors.Factory;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.util.ClassUtil;
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
/**
* Action Processing Pipeline. <p/> Runs a list of action classes on a message
@@ -237,11 +238,13 @@
*/
public boolean process(final Message message)
{
+ AssertArgument.isNotNull(message, "message");
+
final EPR faultToAddress = DefaultFaultTo.getFaultToAddress(message);
long start = System.nanoTime();
serviceMessageCounter.incrementTotalCount();
- if (active.get())
+ if (active.get())
{
if (LOGGER.isDebugEnabled())
{
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-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduleProvider.java 2007-12-18 14:55:09 UTC (rev 17302)
@@ -87,13 +87,17 @@
if(schedule instanceof SimpleSchedule) {
SimpleSchedule simpleSchedule = (SimpleSchedule) schedule;
if(simpleSchedule.getExecCount() == -1) {
- trigger = TriggerUtils.makeSecondlyTrigger((int) simpleSchedule.getFrequency());
+ trigger = new SimpleTrigger();
+ ((SimpleTrigger)trigger).setRepeatInterval(simpleSchedule.getFrequency());
+ ((SimpleTrigger)trigger).setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);
} else if(simpleSchedule.getExecCount() == 0) {
logger.warn("<simple-schedule> '" + scheduleId + "' has an execCount of 0 configured. This schedule will not fire!");
return;
} else {
// So the repeatCount = execCount - 1 ....
- trigger = TriggerUtils.makeSecondlyTrigger((int) simpleSchedule.getFrequency(), (simpleSchedule.getExecCount() - 1));
+ trigger = new SimpleTrigger();
+ ((SimpleTrigger)trigger).setRepeatInterval(simpleSchedule.getFrequency());
+ ((SimpleTrigger)trigger).setRepeatCount(simpleSchedule.getExecCount() - 1);
}
trigger.setName(simpleSchedule.getScheduleid());
} else {
Modified: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/schedule/SimpleSchedule.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/schedule/SimpleSchedule.java 2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/schedule/SimpleSchedule.java 2007-12-18 14:55:09 UTC (rev 17302)
@@ -35,7 +35,7 @@
*/
public class SimpleSchedule extends Schedule {
- /* polling frequency in seconds */
+ /* polling frequency in milliseconds */
private long frequency;
/* nr of times to execute */
private int execCount;
Modified: labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/listeners/ScheduledListenerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/listeners/ScheduledListenerUnitTest.java 2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/listeners/ScheduledListenerUnitTest.java 2007-12-18 14:55:09 UTC (rev 17302)
@@ -27,6 +27,7 @@
import org.jboss.internal.soa.esb.util.StreamUtils;
import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.PipelineProcessingContext;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer;
@@ -85,7 +86,7 @@
*
*/
public static class MockMessageComposer extends MockScheduledEventMessageComposer {
- public Message composeMessage() throws SchedulingException {
+ public Message composeMessage(PipelineProcessingContext context) throws SchedulingException {
return null;
}
}
Modified: labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventMessageComposer.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventMessageComposer.java 2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventMessageComposer.java 2007-12-18 14:55:09 UTC (rev 17302)
@@ -22,6 +22,7 @@
import org.jboss.soa.esb.listeners.ScheduledEventMessageComposer;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.actions.PipelineProcessingContext;
import java.util.Collections;
import java.util.List;
@@ -52,14 +53,16 @@
MockScheduledEventMessageComposer.uninitialised = true;
}
- public Message composeMessage() throws SchedulingException {
+ public Message composeMessage(PipelineProcessingContext context) throws SchedulingException {
Message message = org.jboss.soa.esb.message.format.MessageFactory.getInstance().getMessage();
MockScheduledEventMessageComposer.composedMessages.add(message);
return message;
}
- public Message onProcessingComplete(Message message) throws SchedulingException {
- completedMessage.add(message);
+ public Message onProcessingComplete(Message message, PipelineProcessingContext context) throws SchedulingException {
+ if(message != null) {
+ completedMessage.add(message);
+ }
return message;
}
}
Modified: labs/jbossesb/workspace/bramley/product/samples/quickstarts/helloworld_action/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/bramley/product/samples/quickstarts/helloworld_action/jboss-esb.xml 2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/samples/quickstarts/helloworld_action/jboss-esb.xml 2007-12-18 14:55:09 UTC (rev 17302)
@@ -10,13 +10,6 @@
dest-name="queue/quickstart_helloworld_action_Request"
/>
</jms-bus>
- <jms-bus busid="quickstartEsbChannel">
- <jms-message-filter
- dest-type="QUEUE"
- dest-name="queue/B"
- />
- </jms-bus>
-
</jms-provider>
</providers>
@@ -26,15 +19,10 @@
name="SimpleListener"
description="Hello World" >
<listeners>
- <jms-listener name="JMS-Gateway"
- busidref="quickstartGwChannel"
- maxThreads="1"
- is-gateway="true"
- />
- <jms-listener name="JMS-ESBListener"
- busidref="quickstartEsbChannel"
- maxThreads="1"
- />
+
+ <jms-listener name="JMS-Gateway" busidref="quickstartGwChannel" maxThreads="1" is-gateway="true" />
+ <invm-listener name="invm" />
+
</listeners>
<actions>
<action name="action2"
Modified: labs/jbossesb/workspace/bramley/product/services/jbossesb/src/main/java/org/jboss/soa/esb/schedule/RedeliverEventMessageComposer.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/services/jbossesb/src/main/java/org/jboss/soa/esb/schedule/RedeliverEventMessageComposer.java 2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/services/jbossesb/src/main/java/org/jboss/soa/esb/schedule/RedeliverEventMessageComposer.java 2007-12-18 14:55:09 UTC (rev 17302)
@@ -4,6 +4,7 @@
package org.jboss.soa.esb.schedule;
import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.PipelineProcessingContext;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.listeners.ScheduledEventMessageComposer;
import org.jboss.soa.esb.message.Message;
@@ -20,7 +21,7 @@
/* (non-Javadoc)
* @see org.jboss.soa.esb.listeners.ScheduledEventMessageComposer#composeMessage()
*/
- public Message composeMessage() throws SchedulingException
+ public Message composeMessage(PipelineProcessingContext context) throws SchedulingException
{
Message message = org.jboss.soa.esb.message.format.MessageFactory.getInstance().getMessage();
message.getProperties().setProperty(MessageStore.CLASSIFICATION, MessageStore.CLASSIFICATION_RDLVR);
@@ -38,7 +39,7 @@
/* (non-Javadoc)
* @see org.jboss.soa.esb.listeners.ScheduledEventMessageComposer#onProcessingComplete(org.jboss.soa.esb.message.Message)
*/
- public Message onProcessingComplete(Message message) throws SchedulingException {
+ public Message onProcessingComplete(Message message, PipelineProcessingContext context) throws SchedulingException {
// TODO Auto-generated method stub
return null;
}
More information about the jboss-svn-commits
mailing list