[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