[jboss-svn-commits] JBL Code SVN: r20990 - labs/jbossesb/trunk/product/services/jbossesb/src/main/java/org/jboss/soa/esb/actions.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jul 10 06:21:13 EDT 2008


Author: mark.little at jboss.com
Date: 2008-07-10 06:21:13 -0400 (Thu, 10 Jul 2008)
New Revision: 20990

Modified:
   labs/jbossesb/trunk/product/services/jbossesb/src/main/java/org/jboss/soa/esb/actions/MessagePersister.java
Log:
http://jira.jboss.com/jira/browse/JBESB-1784

Modified: labs/jbossesb/trunk/product/services/jbossesb/src/main/java/org/jboss/soa/esb/actions/MessagePersister.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbossesb/src/main/java/org/jboss/soa/esb/actions/MessagePersister.java	2008-07-10 07:17:11 UTC (rev 20989)
+++ labs/jbossesb/trunk/product/services/jbossesb/src/main/java/org/jboss/soa/esb/actions/MessagePersister.java	2008-07-10 10:21:13 UTC (rev 20990)
@@ -42,11 +42,13 @@
 {
     public final static String MESSAGE_STORE_CLASS = "message-store-class";
     public final static String CLASSIFICATION_ATTR = "classification";
+    public static final String TERMINAL = "terminal";
     
-    
     protected ConfigTree config;
     protected MessageStore messageStore;
     protected String classification;
+    protected boolean terminal = true;
+    
 	private Logger log = Logger.getLogger(this.getClass());
 
 	public MessagePersister(ConfigTree config) throws ConfigurationException
@@ -54,7 +56,9 @@
         this.config = config;
 	}
 	/** 
-     * Persists the message to the MessageStore
+     * Persists the message to the MessageStore.
+     *@return if this is a terminal action then <code>null</code> otherwise the original
+     * input message.
 	 */
 	public Message process(Message message) throws ActionProcessingException
 	{
@@ -70,7 +74,11 @@
         } catch (MessageStoreException mse) {
             log.error("Could not store message.", mse);
         }
+        
+        if (terminal)
 		return null;
+        else
+            return message;
 	}
     /* (non-Javadoc)
      * @see org.jboss.soa.esb.actions.ActionLifecycle#initialise()
@@ -85,6 +93,9 @@
 
         messageStore = MessageStoreFactory.getInstance().getMessageStore(messageStoreClass, config);
         
+        if ("false".equalsIgnoreCase(config.getAttribute(TERMINAL)))
+            terminal = false;
+        
         if (log.isDebugEnabled()) {
             log.debug("MessagePersister started with classification=" + classification 
                 + " and message-store-class=" + messageStore);




More information about the jboss-svn-commits mailing list