[jboss-svn-commits] JBL Code SVN: r10274 - in labs/jbossesb/trunk: product/core/listeners/src/org/jboss/soa/esb/listeners/message and 20 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Mar 16 12:52:42 EDT 2007


Author: kevin.conner at jboss.com
Date: 2007-03-16 12:52:42 -0400 (Fri, 16 Mar 2007)
New Revision: 10274

Added:
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/AbstractActionLifecycle.java
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/AbstractActionPipelineProcessor.java
Modified:
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Aggregator.java
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Notifier.java
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/StaticRouter.java
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/SystemPrintln.java
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java
   labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveCustomerAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveLineItemsAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveOrderAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/quickstart/MyJMSListenerAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/business_service/esb_actions/src/quickstart/business_service/MyAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/MyJMSListenerAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/helloworld/src/quickstart/helloworld/MyJMSListenerAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/helloworld_action/src/quickstart/helloworld_action/MyJMSListenerAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/helloworld_db_registration/src/quickstart/MyJMSListenerAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/MyJMSListenerAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/helloworld_file_action/src/quickstart/hw_file_action/MyAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/helloworld_ftp_action/src/quickstart/hw_ftp_action/MyAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/helloworld_sql_action/src/quickstart/hw_sql_action/MyAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/CustomConfigAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/MyJMSListenerAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/StatefulAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/MyJMSListenerAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/RouteExpressShipping.java
   labs/jbossesb/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/RouteNormalShipping.java
   labs/jbossesb/trunk/product/samples/quickstarts/static_router/src/quickstart/static_router/SimpleFileAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/MyJMSListenerAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/quickstart/webservice_war1/MyAction.java
   labs/jbossesb/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/BankResponseActions.java
   labs/jbossesb/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/CreditAgencyActions.java
   labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/server/MyJMSListenerAction.java
Log:
Modified actions for new lifecycles

Added: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/AbstractActionLifecycle.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/AbstractActionLifecycle.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/AbstractActionLifecycle.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY 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 along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.actions;
+
+/**
+ * Abstract class for lifecycle methods
+ *  
+ * @author kevin
+ */
+public abstract class AbstractActionLifecycle implements ActionLifecycle
+{
+    /**
+     * Initialise the action instance.
+     * <p/>
+     * This method is called after the action instance has been instantiated so that
+     * configuration options can be validated.
+     * 
+     * @throws ActionLifecycleException for errors during initialisation.
+     */
+    public void initialise()
+        throws ActionLifecycleException
+    {
+    }
+
+    /**
+     * Destroy the action instance.
+     * <p/>
+     * This method is called prior to the release of the action instance.  All
+     * resources associated with this action instance should be released as the
+     * instance will no longer be used.
+     */
+    public void destroy()
+        throws ActionLifecycleException
+    {
+    }
+}
\ No newline at end of file


Property changes on: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/AbstractActionLifecycle.java
___________________________________________________________________
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/AbstractActionPipelineProcessor.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/AbstractActionPipelineProcessor.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/AbstractActionPipelineProcessor.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY 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 along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.soa.esb.actions;
+
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * Abstract class for processor actions used in a pipeline.
+ * 
+ * @author kevin
+ */
+public abstract class AbstractActionPipelineProcessor extends AbstractActionLifecycle implements ActionPipelineProcessor
+{
+    /**
+     * Process an exception generated by the pipeline processing.
+     * Invoked when the processing of a subsequent stage of the
+     * pipeline generates an exception.
+     * 
+     * @param message The original message.
+     * @param ex The exception raised by the pipeline processing
+     */
+    public void processException(final Message message, final Exception ex)
+    {
+    }
+    
+    /**
+     * Process a successful pipeline process. 
+     * Invoked when the pipeline processing completes successfully.
+     * 
+     * @param message The original message.
+     */
+    public void processSuccess(final Message message)
+    {
+    }
+}


Property changes on: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/AbstractActionPipelineProcessor.java
___________________________________________________________________
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Aggregator.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Aggregator.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Aggregator.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -31,6 +31,10 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.locks.Condition;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
 
 import org.apache.log4j.Logger;
 import org.jboss.soa.esb.ConfigurationException;
@@ -46,7 +50,6 @@
 import org.jboss.soa.esb.services.registry.RegistryException;
 import org.jboss.soa.esb.services.registry.RegistryFactory;
 import org.jboss.soa.esb.services.routing.MessageRouter;
-import org.jboss.soa.esb.services.routing.MessageRouterException;
 
 /**
  * Simple Aggregator. The aggregator relies on 'aggregatorTags'. To puzzle the individual
@@ -63,12 +66,12 @@
  * @author kurt.stam at redhat.com
  *
  */
-public class Aggregator
+public class Aggregator extends AbstractActionPipelineProcessor
 {
-	public static ConcurrentHashMap<String,ConcurrentHashMap< String, Message > > _aggregatedMessageMap
+    private ConcurrentHashMap<String,ConcurrentHashMap< String, Message > > _aggregatedMessageMap
         = new ConcurrentHashMap< String, ConcurrentHashMap< String, Message > >();
-    private static TimeoutChecker _timeoutChecker=null;
-    private static ArrayList<String> _notified = new ArrayList<String>();
+    private TimeoutChecker _timeoutChecker=null;
+    private ArrayList<String> _notified = new ArrayList<String>();
     
     protected ConfigTree config;
     private Logger logger = Logger.getLogger(Aggregator.class);
@@ -81,17 +84,42 @@
 
 	public Aggregator(ConfigTree config) throws ConfigurationException, RegistryException
 	{
-        if (_timeoutChecker==null) {
-        // On startup we should re-populate the _aggregatedMessageMap from permanent storage
-            _timeoutChecker = new TimeoutChecker();
-            _timeoutChecker.start();
-        }
         
         this.config = config;
 		checkMyParms();
         registry = RegistryFactory.getRegistry();
     }
+        
     /**
+     * Initialise the action instance.
+     * <p/>
+     * This method is called after the action instance has been instantiated so that
+     * configuration options can be validated.
+     * 
+     * @throws ActionLifecycleException for errors during initialisation.
+     */
+    public void initialise()
+        throws ActionLifecycleException
+    {
+        _timeoutChecker = new TimeoutChecker();
+        _timeoutChecker.start();
+    }
+
+            /**
+             * Destroy the action instance.
+             * <p/>
+             * This method is called prior to the release of the action instance.  All
+             * resources associated with this action instance should be released as the
+             * instance will no longer be used.
+             */
+    public void destroy()
+        throws ActionLifecycleException
+    {
+        _timeoutChecker.terminate() ;
+        _timeoutChecker = null ;
+    }
+    
+    /**
      * Processes an incoming message, aggregates messages in a set and returns a aggregated message
      * when isComplete() is satisfied. The aggregated messages are set as attachments to this message.
      * Next the message can be send to a transformer to do the second part of the aggregation which is 
@@ -99,9 +127,9 @@
      * 
      * @param message
      * @return a aggregated message, or null if the aggregation has not been completed.
-     * @throws MessageRouterException
+     * @throws ActionProcessingException
      */
-	public Message process(Message message) throws MessageRouterException
+	public Message process(Message message) throws ActionProcessingException
 	{
 		String aggregatorTag = (String) message.getProperties().getProperty(MessageRouter.AGGEGRATOR_TAG);
         if (aggregatorTag!=null) {
@@ -146,7 +174,7 @@
                 }
             }
         } else {
-            throw new MessageRouterException("Could not find an aggregator tag, so this message can not be aggregated.");
+            throw new ActionProcessingException("Could not find an aggregator tag, so this message can not be aggregated.");
         }
 		return message;
 	}
@@ -219,8 +247,13 @@
      *
      */
     class TimeoutChecker extends Thread {
+        private final Lock terminateLock = new ReentrantLock() ;
+        private final Condition terminateCondition = terminateLock.newCondition() ;
+        private boolean terminated ; 
+        
         public void run() {
-            while(true) {
+            boolean running = true ;
+            while(running) {
                 //no need to check if no timeout is set
                 if (timeoutInMillies!=null) {
                     for (ConcurrentHashMap< String, Message > messageMap : _aggregatedMessageMap.values()) {
@@ -257,11 +290,31 @@
                         }
                     }
                 }
+                terminateLock.lock() ;
                 try {
-                    Thread.sleep(500);
-                } catch (Exception e){}
+                    if (!terminated) {
+                        terminateCondition.await(500, TimeUnit.MILLISECONDS) ;
+                    }
+                    running = !terminated ;
+                } catch (InterruptedException ie){}
+                finally {
+                    terminateLock.unlock() ;
+                }
             }
         }
+            
+        public void terminate() {
+            terminateLock.lock() ;
+            try
+            {
+                terminated = true ;
+                terminateCondition.signalAll() ;
+            }
+            finally
+            {
+                terminateLock.unlock() ;
+            }
+        }
     }
  
 }

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Notifier.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Notifier.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Notifier.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -35,22 +35,47 @@
  * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
  * @since Version 4.0
  */
-public class Notifier 
+public class Notifier implements ActionLifecycle
 {
 	public Notifier(ConfigTree config)
 	{
 		_config = config;
-		if (null==_config)
-		{
-			_notifyOK = _notifyError = new ConfigTree[]{};
-		}
-		else
-		{
-			_notifyOK 	= getNotificationList("ok");
-			_notifyError= getNotificationList("err");
-		}
 	} //________________________________
 	
+        /**
+         * Initialise the action instance.
+         * <p/>
+         * This method is called after the action instance has been instantiated so that
+         * configuration options can be validated.
+         * 
+         * @throws ActionLifecycleException for errors during initialisation.
+         */
+        public void initialise()
+            throws ActionLifecycleException
+        {
+            if (null==_config)
+            {
+                _notifyOK = _notifyError = new ConfigTree[]{};
+            }
+            else
+            {
+                _notifyOK       = getNotificationList("ok");
+                _notifyError= getNotificationList("err");
+            }
+        }
+
+        /**
+         * Destroy the action instance.
+         * <p/>
+         * This method is called prior to the release of the action instance.  All
+         * resources associated with this action instance should be released as the
+         * instance will no longer be used.
+         */
+        public void destroy()
+            throws ActionLifecycleException
+        {
+        }
+        
 	/**
 	 * This is equivalent to a No Operation
 	 * @param message

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/StaticRouter.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/StaticRouter.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/StaticRouter.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -41,7 +41,7 @@
 import org.jboss.soa.esb.services.routing.MessageRouter;
 import org.jboss.soa.esb.services.routing.MessageRouterException;
 
-public class StaticRouter
+public class StaticRouter extends AbstractActionPipelineProcessor
 {
 	public static final String ROUTE_TO_TAG = "route-to";
 
@@ -52,28 +52,22 @@
 	public StaticRouter(ConfigTree config) throws ConfigurationException, RegistryException
 	{
 		_config = config;
-		checkMyParms();
 	} // ________________________________
 
-	public Message process(Message message) throws MalformedEPRException, RegistryException, CourierException
+	public Message process(Message message) throws ActionProcessingException
 	{
 		try
 		{
-		//	Call call = message.getHeader().getCall();
-		//	if (null == call || null == call.getMessageID())
-		//		throw new IllegalArgumentException("Null message ID");
-	
 			MessageRouter.deliverMessages(_destinations, message, false);
 			return message;
 		}
 		catch (MessageRouterException ex)
 		{
-			throw new MalformedEPRException(ex);
-        }
+			throw new ActionProcessingException(ex);
+                }
 	} // ________________________________
-
-	protected void checkMyParms() throws ConfigurationException
-	{
+        public void initialise() throws ActionLifecycleException
+        {
 		_destinations = new ArrayList<String[]>();
 		ConfigTree[] destList = _config.getChildren(ROUTE_TO_TAG);
 		if (null == destList || destList.length < 1)
@@ -93,7 +87,7 @@
 			}
 			catch (Exception e)
 			{
-				throw new ConfigurationException(
+				throw new ActionLifecycleException(
 						"Problems with destination list", e);
 			}
 	} // ________________________________

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/SystemPrintln.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/SystemPrintln.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/SystemPrintln.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -21,7 +21,6 @@
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
-import java.io.Serializable;
 
 import javax.xml.transform.OutputKeys;
 import javax.xml.transform.Transformer;
@@ -36,7 +35,7 @@
  * Simple action that prints out the message contents using System.println.
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
-public class SystemPrintln implements ActionProcessor {
+public class SystemPrintln extends AbstractActionPipelineProcessor {
 
 	private String printlnMessage;
 	
@@ -67,20 +66,6 @@
 		return message;
 	}
 	
-	/* (non-Javadoc)
-	 * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(org.jboss.soa.esb.message.Message)
-	 */
-	public Serializable getErrorNotification(Message message) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(org.jboss.soa.esb.message.Message)
-	 */
-	public Serializable getOkNotification(Message message) {
-		return null;
-	}
-
 	private static TransformerFactory factory = TransformerFactory.newInstance();
 
 	/**

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -201,7 +201,7 @@
                 {
                     LOGGER.debug("executing processor " + count) ;
                     currentMessage = processor.process(currentMessage) ;
-                    if (currentMessage == null)
+                    if ((currentMessage == null) && (count < numProcessors-1))
                     {
                         throw new ActionProcessingException("Null message returned from action processor") ;
                     }

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -305,6 +305,7 @@
             checkExecutorTermination() ;
             
             pipeline.destroy() ;
+            pipeline = null ;
             
             CourierUtil.cleanCourier(_pickUpCourier);
             

Modified: labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -21,12 +21,11 @@
 
 package org.jboss.soa.esb.dvdstore;
 
-import java.io.Serializable;
 import java.util.HashMap;
 import java.util.List;
 
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
 import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.actions.ActionProcessor;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 
@@ -36,7 +35,7 @@
  * This action uses bean value objects that were prepopulated by Smooks in an earlier action on the pipline.
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
-public class DVDStoreAction implements ActionProcessor {
+public class DVDStoreAction extends AbstractActionPipelineProcessor {
 
 	public DVDStoreAction(ConfigTree configTree) {
 		
@@ -69,18 +68,4 @@
 		message.getBody().setContents(results.toString().getBytes());
 		return message;
 	}
-
-	/* (non-Javadoc)
-	 * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(org.jboss.soa.esb.message.Message)
-	 */
-	public Serializable getOkNotification(Message message) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(org.jboss.soa.esb.message.Message)
-	 */
-	public Serializable getErrorNotification(Message message) {
-		return null;
-	}
 }

Modified: labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveCustomerAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveCustomerAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveCustomerAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -21,12 +21,10 @@
 
 package org.jboss.soa.esb.dvdstore;
 
-import java.io.Serializable;
 import java.util.HashMap;
-import java.util.List;
 
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
 import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.actions.ActionProcessor;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 
@@ -36,7 +34,7 @@
  * This action uses bean value objects that were prepopulated by Smooks in an earlier action on the pipline.
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
-public class RetrieveCustomerAction implements ActionProcessor {
+public class RetrieveCustomerAction extends AbstractActionPipelineProcessor {
 
 	public RetrieveCustomerAction(ConfigTree configTree) {
 		
@@ -55,18 +53,4 @@
 		message.getBody().setContents(results.toString().getBytes());
 		return message;
 	}
-
-	/* (non-Javadoc)
-	 * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(org.jboss.soa.esb.message.Message)
-	 */
-	public Serializable getOkNotification(Message message) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(org.jboss.soa.esb.message.Message)
-	 */
-	public Serializable getErrorNotification(Message message) {
-		return null;
-	}
 }

Modified: labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveLineItemsAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveLineItemsAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveLineItemsAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -21,12 +21,11 @@
 
 package org.jboss.soa.esb.dvdstore;
 
-import java.io.Serializable;
 import java.util.HashMap;
 import java.util.List;
 
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
 import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.actions.ActionProcessor;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 
@@ -36,7 +35,7 @@
  * This action uses bean value objects that were prepopulated by Smooks in an earlier action on the pipline.
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
-public class RetrieveLineItemsAction implements ActionProcessor {
+public class RetrieveLineItemsAction extends AbstractActionPipelineProcessor {
 
 	public RetrieveLineItemsAction(ConfigTree configTree) {
 		
@@ -62,18 +61,4 @@
 		message.getBody().setContents(results.toString().getBytes());
 		return message;
 	}
-
-	/* (non-Javadoc)
-	 * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(org.jboss.soa.esb.message.Message)
-	 */
-	public Serializable getOkNotification(Message message) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(org.jboss.soa.esb.message.Message)
-	 */
-	public Serializable getErrorNotification(Message message) {
-		return null;
-	}
 }

Modified: labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveOrderAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveOrderAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveOrderAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -21,12 +21,10 @@
 
 package org.jboss.soa.esb.dvdstore;
 
-import java.io.Serializable;
 import java.util.HashMap;
-import java.util.List;
 
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
 import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.actions.ActionProcessor;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 
@@ -36,7 +34,7 @@
  * This action uses bean value objects that were prepopulated by Smooks in an earlier action on the pipline.
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
-public class RetrieveOrderAction implements ActionProcessor {
+public class RetrieveOrderAction extends AbstractActionPipelineProcessor {
 
 	public RetrieveOrderAction(ConfigTree configTree) {
 		
@@ -58,18 +56,4 @@
 		message.getBody().setContents(results.toString().getBytes());
 		return message;
 	}
-
-	/* (non-Javadoc)
-	 * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(org.jboss.soa.esb.message.Message)
-	 */
-	public Serializable getOkNotification(Message message) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(org.jboss.soa.esb.message.Message)
-	 */
-	public Serializable getErrorNotification(Message message) {
-		return null;
-	}
 }

Modified: labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/quickstart/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/quickstart/MyJMSListenerAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/aggregator/src/quickstart/MyJMSListenerAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -22,14 +22,9 @@
 
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.Header;
-import org.jboss.soa.esb.message.Body;
-import org.jboss.soa.esb.addressing.Call;
-import org.jboss.soa.esb.addressing.EPR;
-import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 
-public class MyJMSListenerAction
+public class MyJMSListenerAction extends AbstractActionLifecycle
 {
     
   protected ConfigTree	_config;

Modified: labs/jbossesb/trunk/product/samples/quickstarts/business_service/esb_actions/src/quickstart/business_service/MyAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_service/esb_actions/src/quickstart/business_service/MyAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/business_service/esb_actions/src/quickstart/business_service/MyAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -20,13 +20,14 @@
  */
 package quickstart.business_service;
 
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Body;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.tutorial.stateless.bean.HelloWorld;
 import javax.naming.InitialContext;
 
-public class MyAction
+public class MyAction extends AbstractActionLifecycle
 {
     
   protected ConfigTree	_config;
@@ -75,6 +76,4 @@
    private void logFooter() {
 	   System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
    }
-    
-	
 }
\ No newline at end of file

Modified: labs/jbossesb/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -21,12 +21,11 @@
 
 package org.jboss.soa.esb.dvdstore;
 
-import java.io.Serializable;
 import java.util.HashMap;
 import java.util.List;
 
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
 import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.actions.ActionProcessor;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 
@@ -36,7 +35,7 @@
  * This action uses bean value objects that were prepopulated by Smooks in an earlier action on the pipline.
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
-public class DVDStoreAction implements ActionProcessor {
+public class DVDStoreAction extends AbstractActionPipelineProcessor {
 
 	public DVDStoreAction(ConfigTree configTree) {
 		
@@ -69,18 +68,4 @@
 		message.getBody().setContents(results.toString().getBytes());
 		return message;
 	}
-
-	/* (non-Javadoc)
-	 * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(org.jboss.soa.esb.message.Message)
-	 */
-	public Serializable getOkNotification(Message message) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(org.jboss.soa.esb.message.Message)
-	 */
-	public Serializable getErrorNotification(Message message) {
-		return null;
-	}
 }

Modified: labs/jbossesb/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/MyJMSListenerAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/MyJMSListenerAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -22,14 +22,9 @@
 
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.Header;
-import org.jboss.soa.esb.message.Body;
-import org.jboss.soa.esb.addressing.Call;
-import org.jboss.soa.esb.addressing.EPR;
-import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 
-public class MyJMSListenerAction
+public class MyJMSListenerAction extends AbstractActionLifecycle
 {
     
   protected ConfigTree	_config;

Modified: labs/jbossesb/trunk/product/samples/quickstarts/helloworld/src/quickstart/helloworld/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/helloworld/src/quickstart/helloworld/MyJMSListenerAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/helloworld/src/quickstart/helloworld/MyJMSListenerAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -20,10 +20,11 @@
  */
 package quickstart.helloworld;
 
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 
-public class MyJMSListenerAction
+public class MyJMSListenerAction extends AbstractActionLifecycle
 {
     
   protected ConfigTree	_config;

Modified: labs/jbossesb/trunk/product/samples/quickstarts/helloworld_action/src/quickstart/helloworld_action/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/helloworld_action/src/quickstart/helloworld_action/MyJMSListenerAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/helloworld_action/src/quickstart/helloworld_action/MyJMSListenerAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -20,11 +20,12 @@
  */
 package quickstart.helloworld_action;
 
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Body;
 import org.jboss.soa.esb.message.Message;
 
-public class MyJMSListenerAction
+public class MyJMSListenerAction extends AbstractActionLifecycle
 {
     
   protected ConfigTree	_config;
@@ -70,6 +71,4 @@
    private void logFooter() {
 	   System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
    }
-    
-	
 }
\ No newline at end of file

Modified: labs/jbossesb/trunk/product/samples/quickstarts/helloworld_db_registration/src/quickstart/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/helloworld_db_registration/src/quickstart/MyJMSListenerAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/helloworld_db_registration/src/quickstart/MyJMSListenerAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -20,10 +20,11 @@
  */
 package quickstart;
 
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 
-public class MyJMSListenerAction
+public class MyJMSListenerAction extends AbstractActionLifecycle
 {
     
   protected ConfigTree	_config;

Modified: labs/jbossesb/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/MyJMSListenerAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/MyJMSListenerAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -20,10 +20,11 @@
  */
 package quickstart;
 
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 
-public class MyJMSListenerAction
+public class MyJMSListenerAction extends AbstractActionLifecycle
 {
     
   protected ConfigTree	_config;

Modified: labs/jbossesb/trunk/product/samples/quickstarts/helloworld_file_action/src/quickstart/hw_file_action/MyAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/helloworld_file_action/src/quickstart/hw_file_action/MyAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/helloworld_file_action/src/quickstart/hw_file_action/MyAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -20,11 +20,12 @@
  */
 package quickstart.hw_file_action;
 
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Body;
 import org.jboss.soa.esb.message.Message;
 
-public class MyAction
+public class MyAction extends AbstractActionLifecycle
 {
     
   protected ConfigTree	_config;

Modified: labs/jbossesb/trunk/product/samples/quickstarts/helloworld_ftp_action/src/quickstart/hw_ftp_action/MyAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/helloworld_ftp_action/src/quickstart/hw_ftp_action/MyAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/helloworld_ftp_action/src/quickstart/hw_ftp_action/MyAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -20,11 +20,12 @@
  */
 package quickstart.hw_ftp_action;
 
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Body;
 import org.jboss.soa.esb.message.Message;
 
-public class MyAction
+public class MyAction extends AbstractActionLifecycle
 {
     
   protected ConfigTree	_config;

Modified: labs/jbossesb/trunk/product/samples/quickstarts/helloworld_sql_action/src/quickstart/hw_sql_action/MyAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/helloworld_sql_action/src/quickstart/hw_sql_action/MyAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/helloworld_sql_action/src/quickstart/hw_sql_action/MyAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -22,11 +22,12 @@
 
 import java.util.Map;
 
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.listeners.ListenerTagNames;
 import org.jboss.soa.esb.message.Message;
 
-public class MyAction
+public class MyAction extends AbstractActionLifecycle
 {
     
   protected ConfigTree	_config;

Modified: labs/jbossesb/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/CustomConfigAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/CustomConfigAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/CustomConfigAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -20,11 +20,12 @@
  */
 package quickstart.moreaction;
 
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 import java.util.Set;
 
-public class CustomConfigAction {
+public class CustomConfigAction extends AbstractActionLifecycle {
 	protected ConfigTree	_config;
 	public CustomConfigAction(ConfigTree config) { _config = config; } 
 	

Modified: labs/jbossesb/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/MyJMSListenerAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/MyJMSListenerAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -20,10 +20,11 @@
  */
 package quickstart.moreaction;
 
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 
-public class MyJMSListenerAction
+public class MyJMSListenerAction extends AbstractActionLifecycle
 {
     
   protected ConfigTree	_config;

Modified: labs/jbossesb/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/StatefulAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/StatefulAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/StatefulAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -20,10 +20,11 @@
  */
 package quickstart.moreaction;
 
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 
-public class StatefulAction {
+public class StatefulAction extends AbstractActionLifecycle {
 	 protected ConfigTree	_config;
 	 int cnt = 0;
 	 public StatefulAction(ConfigTree config) {

Modified: labs/jbossesb/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/MyJMSListenerAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/MyJMSListenerAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -22,14 +22,9 @@
 
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.Header;
-import org.jboss.soa.esb.message.Body;
-import org.jboss.soa.esb.addressing.Call;
-import org.jboss.soa.esb.addressing.EPR;
-import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 
-public class MyJMSListenerAction
+public class MyJMSListenerAction extends AbstractActionLifecycle
 {
     
   protected ConfigTree	_config;

Modified: labs/jbossesb/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/RouteExpressShipping.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/RouteExpressShipping.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/RouteExpressShipping.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -20,12 +20,12 @@
  */
 package quickstart;
 
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 
-public class RouteExpressShipping {
+public class RouteExpressShipping extends AbstractActionLifecycle {
 	
-	  protected Message  _message;
 	  protected ConfigTree	_config;
 	  
 	  public RouteExpressShipping(ConfigTree config) { _config = config; } 

Modified: labs/jbossesb/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/RouteNormalShipping.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/RouteNormalShipping.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/RouteNormalShipping.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -20,12 +20,12 @@
  */
 package quickstart;
 
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 
-public class RouteNormalShipping {
+public class RouteNormalShipping extends AbstractActionLifecycle {
 	
-	  protected Message  _message;
 	  protected ConfigTree	_config;
 	  
 	  public RouteNormalShipping(ConfigTree config) { _config = config; } 

Modified: labs/jbossesb/trunk/product/samples/quickstarts/static_router/src/quickstart/static_router/SimpleFileAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/static_router/src/quickstart/static_router/SimpleFileAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/static_router/src/quickstart/static_router/SimpleFileAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -20,13 +20,14 @@
  */
 package quickstart.static_router;
 
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 
-public class SimpleFileAction 
+public class SimpleFileAction extends AbstractActionLifecycle
 {
 	protected ConfigTree _config;
-	private SimpleFileAction() {}
+
 	public SimpleFileAction (ConfigTree tree) { _config = tree; }
 
 	public Message process(Message message) throws Exception

Modified: labs/jbossesb/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -21,12 +21,11 @@
 
 package org.jboss.soa.esb.dvdstore;
 
-import java.io.Serializable;
 import java.util.HashMap;
 import java.util.List;
 
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
 import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.actions.ActionProcessor;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 
@@ -36,7 +35,7 @@
  * This action uses bean value objects that were prepopulated by Smooks in an earlier action on the pipline.
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
-public class DVDStoreAction implements ActionProcessor {
+public class DVDStoreAction extends AbstractActionPipelineProcessor {
 
 	public DVDStoreAction(ConfigTree configTree) {
 		
@@ -69,18 +68,4 @@
 		message.getBody().setContents(results.toString().getBytes());
 		return message;
 	}
-
-	/* (non-Javadoc)
-	 * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(org.jboss.soa.esb.message.Message)
-	 */
-	public Serializable getOkNotification(Message message) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(org.jboss.soa.esb.message.Message)
-	 */
-	public Serializable getErrorNotification(Message message) {
-		return null;
-	}
 }

Modified: labs/jbossesb/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/MyJMSListenerAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/MyJMSListenerAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -22,14 +22,13 @@
 
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.message.Header;
 import org.jboss.soa.esb.message.Body;
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 import org.jboss.soa.esb.addressing.Call;
 import org.jboss.soa.esb.addressing.EPR;
-import org.apache.log4j.Logger;
 
-public class MyJMSListenerAction
+public class MyJMSListenerAction extends AbstractActionLifecycle
 {
     
   protected ConfigTree	_config;

Modified: labs/jbossesb/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/quickstart/webservice_war1/MyAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/quickstart/webservice_war1/MyAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/quickstart/webservice_war1/MyAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -25,12 +25,13 @@
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.message.format.MessageFactory;
 import org.jboss.soa.esb.message.format.MessageType;
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 import org.jboss.soa.esb.addressing.EPR;
 import org.jboss.soa.esb.couriers.Courier;
 import org.jboss.soa.esb.couriers.CourierFactory;
 import org.jboss.soa.esb.couriers.CourierUtil;
 
-public class MyAction
+public class MyAction extends AbstractActionLifecycle
 {
     
   protected ConfigTree	_config;

Modified: labs/jbossesb/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/BankResponseActions.java
===================================================================
--- labs/jbossesb/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/BankResponseActions.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/BankResponseActions.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -22,13 +22,13 @@
  */
 
 import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.samples.trailblazer.util.ProcessEmail;
 
-public class BankResponseActions {
+public class BankResponseActions extends AbstractActionLifecycle {
 	
-	protected Message 		_message;
 	protected ConfigTree	_config;
 	
 	private static Logger _logger = Logger.getLogger(BankResponseActions.class);
@@ -37,7 +37,6 @@
 	
 	public Message processResponseFromJMSBank(Message message) throws Exception {
 		System.out.println("Got the message from the JMS bank: " + message.getBody().getContents());
-		_message = message;
 		
 		_logger.debug("message received: \n" + new String(message.getBody().getContents()));
 		
@@ -61,5 +60,4 @@
 		
 		return message;
 	}
-
 }

Modified: labs/jbossesb/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/CreditAgencyActions.java
===================================================================
--- labs/jbossesb/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/CreditAgencyActions.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/CreditAgencyActions.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -24,6 +24,7 @@
 import java.util.Random;
 
 import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 import org.jboss.soa.esb.addressing.EPR;
 import org.jboss.soa.esb.couriers.Courier;
 import org.jboss.soa.esb.couriers.CourierFactory;
@@ -34,8 +35,7 @@
 import org.jboss.soa.esb.message.format.MessageType;
 import org.jboss.soa.esb.util.Util;
 
-public class CreditAgencyActions {
-	protected Message 		_message;
+public class CreditAgencyActions extends AbstractActionLifecycle {
 	protected ConfigTree	_config;
 	
 	private static Logger _logger = Logger.getLogger(CreditAgencyActions.class);
@@ -46,7 +46,6 @@
 	
 	public Message processCreditRequest(Message message) throws Exception{
 		
-		_message = message;
 		Message replyMessage=null;
 		
 		_logger.debug("message received: " + Util.serialize(message) );		
@@ -81,15 +80,12 @@
 	
 	public Message debugMessage(Message message) throws Exception{
 		
-		_message = message;
 		_logger.debug("message received in processCreditRequest with message: " + Util.serialize(message));
 
 		
 		
 		return message;
 	}
-	
-	
 }
 
 

Modified: labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/server/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/server/MyJMSListenerAction.java	2007-03-16 16:51:50 UTC (rev 10273)
+++ labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/server/MyJMSListenerAction.java	2007-03-16 16:52:42 UTC (rev 10274)
@@ -21,14 +21,17 @@
 */
 package org.jboss.soa.esb.server;
 
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
+import org.jboss.soa.esb.actions.ActionProcessingException;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.mx.util.MBeanServerLocator;
 import org.jboss.mx.util.MBeanProxyExt;
 
 import javax.management.MBeanServer;
+import javax.management.MalformedObjectNameException;
 
-public class MyJMSListenerAction
+public class MyJMSListenerAction extends AbstractActionPipelineProcessor
 {
    protected ConfigTree _config;
 
@@ -42,13 +45,21 @@
       return message;
    }
 
-   public Message process(Message message) throws Exception
+   public Message process(Message message) throws ActionProcessingException
    {
       logHeader();
       System.out.println("Body: " + new String(message.getBody().getContents()));
       logFooter();
       MBeanServer server = MBeanServerLocator.locateJBoss();
-      StatsMBean stats = (StatsMBean)MBeanProxyExt.create(StatsMBean.class, StatsMBean.objectName, server);
+      StatsMBean stats ;
+      try
+      {
+          stats = (StatsMBean)MBeanProxyExt.create(StatsMBean.class, StatsMBean.objectName, server);
+      }
+      catch (final MalformedObjectNameException mone)
+      {
+          throw new ActionProcessingException("Error creating MBean proxy", mone) ;
+      }
       stats.setExecutedVersion("scope1");
       return message;
    }




More information about the jboss-svn-commits mailing list