[jboss-svn-commits] JBL Code SVN: r11504 - labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Apr 30 08:37:56 EDT 2007


Author: kevin.conner at jboss.com
Date: 2007-04-30 08:37:56 -0400 (Mon, 30 Apr 2007)
New Revision: 11504

Modified:
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
Log:
Allow early termination of the pipeline

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-04-30 10:18:13 UTC (rev 11503)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java	2007-04-30 12:37:56 UTC (rev 11504)
@@ -29,7 +29,6 @@
 import org.jboss.soa.esb.ConfigurationException;
 import org.jboss.soa.esb.actions.ActionLifecycle;
 import org.jboss.soa.esb.actions.ActionPipelineProcessor;
-import org.jboss.soa.esb.actions.ActionProcessingException;
 import org.jboss.soa.esb.actions.BeanConfiguredAction;
 import org.jboss.soa.esb.addressing.EPR;
 import org.jboss.soa.esb.addressing.MalformedEPRException;
@@ -219,10 +218,9 @@
                 {
                     LOGGER.debug("executing processor " + count) ;
                     currentMessage = processor.process(currentMessage) ;
-                    if ((currentMessage == null) && (count < numProcessors-1))
+                    if (currentMessage == null)
                     {
-                        // TODO: If there's a replyToAddress, what should we reply??
-                        throw new ActionProcessingException("Null message returned from action processor") ;
+                        break ;
                     }
                 }
                 catch (final Exception ex)
@@ -235,7 +233,7 @@
             }
 
             // Reply...
-            if(replyToAddress != null) {
+            if ((message != null) && (replyToAddress != null)) {
                 replyTo(replyToAddress, currentMessage);
             }
             
@@ -325,15 +323,19 @@
     {
         for (int count = messages.length - 1 ; count >=0 ; count--)
         {
-            final ActionPipelineProcessor processor = processors[count] ;
-            try
+            final Message message = messages[count] ;
+            if (message != null)
             {
-                processor.processSuccess(messages[count]) ;
+                final ActionPipelineProcessor processor = processors[count] ;
+                try
+                {
+                    processor.processSuccess(messages[count]) ;
+                }
+                catch (final Exception ex)
+                {
+                    LOGGER.warn("Unexpected exception notifying processor of pipeline success", ex) ;
+                }
             }
-            catch (final Exception ex)
-            {
-                LOGGER.warn("Unexpected exception notifying processor of pipeline success", ex) ;
-            }
         }
     }
 }




More information about the jboss-svn-commits mailing list