You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by ch...@apache.org on 2005/12/29 11:22:52 UTC

svn commit: r359770 - in /webservices/sandesha/trunk/src/org/apache/sandesha2: ./ msgprocessors/ storage/beanmanagers/ util/

Author: chamikara
Date: Thu Dec 29 02:22:01 2005
New Revision: 359770

URL: http://svn.apache.org/viewcvs?rev=359770&view=rev
Log:
Ability to request for a RMReport within the client code. Users can ask for reports of both outgoing sequences and incoming sequences. RMReport currently gives the number of messages acked and tells weather the sequence has been completed.

Modified:
    webservices/sandesha/trunk/src/org/apache/sandesha2/AcknowledgementManager.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/RMReport.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2ClientAPI.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/CreateSeqBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/InvokerBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/NextMsgBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SenderBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SequencePropertyBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/util/SandeshaUtil.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/util/SequenceManager.java

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/AcknowledgementManager.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/AcknowledgementManager.java?rev=359770&r1=359769&r2=359770&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/AcknowledgementManager.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/AcknowledgementManager.java Thu Dec 29 02:22:01 2005
@@ -23,7 +23,6 @@
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
 import org.apache.sandesha2.storage.StorageManager;
-import org.apache.sandesha2.storage.Transaction;
 import org.apache.sandesha2.storage.beanmanagers.SenderBeanMgr;
 import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
 import org.apache.sandesha2.storage.beans.SenderBean;

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/RMReport.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/RMReport.java?rev=359770&r1=359769&r2=359770&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/RMReport.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/RMReport.java Thu Dec 29 02:22:01 2005
@@ -24,8 +24,7 @@
 	
 	private long ackedMessageCount = 0;
 	private boolean sequenceCompleted = false;
-	
-	
+	private boolean outGoingSequence = false;
 
 	public long getAckedMessageCount() {
 		return ackedMessageCount;
@@ -42,4 +41,13 @@
 	public void setSequenceCompleted(boolean sequenceCompleted) {
 		this.sequenceCompleted = sequenceCompleted;
 	}
+	
+	public boolean isOutGoingSequence() {
+		return outGoingSequence;
+	}
+	
+	public void setOutGoingSequence(boolean outGoingSequence) {
+		this.outGoingSequence = outGoingSequence;
+	}
+	
 }

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2ClientAPI.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2ClientAPI.java?rev=359770&r1=359769&r2=359770&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2ClientAPI.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2ClientAPI.java Thu Dec 29 02:22:01 2005
@@ -38,11 +38,22 @@
 	public static RMReport getRMReport (String to, String sequenceKey,ConfigurationContext configurationContext) throws SandeshaException {
 		
 		String internalSequenceID = SandeshaUtil.getInternalSequenceID (to,sequenceKey);
+		RMReport report = new RMReport ();
 		
-		RMReport rmReport = new RMReport ();
-		rmReport.setAckedMessageCount(SequenceManager.getAckedMessageCount (internalSequenceID,configurationContext));
-		rmReport.setSequenceCompleted(SequenceManager.isSequenceCompleted (internalSequenceID,configurationContext));
+		report.setAckedMessageCount(SequenceManager.getOutGoingSequenceAckedMessageCount (internalSequenceID,configurationContext));
+		report.setSequenceCompleted(SequenceManager.isOutGoingSequenceCompleted (internalSequenceID,configurationContext));
+		report.setOutGoingSequence(true);
+					
+		return report;
+	}
+	
+	public static RMReport getIncomingSequenceReport (String sequenceID,ConfigurationContext configurationContext) throws SandeshaException {
 		
-		return rmReport;
+		RMReport report = new RMReport ();
+		report.setOutGoingSequence(false);
+		report.setAckedMessageCount(SequenceManager.getIncomingSequenceAckedMessageCount(sequenceID,configurationContext));
+		report.setSequenceCompleted(SequenceManager.isIncomingSequenceCompleted(sequenceID,configurationContext));
+		
+		return report;
 	}
 }

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java?rev=359770&r1=359769&r2=359770&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java Thu Dec 29 02:22:01 2005
@@ -179,9 +179,11 @@
 
 		String TERMINATE_ADDED = "TerminateAdded";
 		
+		String TERMINATE_RECEIVED = "TerminateReceived";
+		
 		String LAST_ACTIVATED_TIME = "LastActivatedTime";
 		
-		String NO_OF_MSGS_ACKED = "NoOfMessagesAcked";
+		String NO_OF_OUTGOING_MSGS_ACKED = "NoOfOutGoingMessagesAcked";
 		
 		String TRANSPORT_TO = "TransportTo";
 	}

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.java?rev=359770&r1=359769&r2=359770&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.java Thu Dec 29 02:22:01 2005
@@ -193,7 +193,7 @@
 		if (Sandesha2Constants.SequenceProperties.TERMINATE_ADDED.equals(name))
 			deleatable = false;
 		
-		if (Sandesha2Constants.SequenceProperties.NO_OF_MSGS_ACKED.equals(name))
+		if (Sandesha2Constants.SequenceProperties.NO_OF_OUTGOING_MSGS_ACKED.equals(name))
 			deleatable = false;
 		
 		if (Sandesha2Constants.SequenceProperties.INTERNAL_SEQUENCE_ID.equals(name))

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java?rev=359770&r1=359769&r2=359770&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java Thu Dec 29 02:22:01 2005
@@ -138,14 +138,14 @@
 		//setting acked message date.
 		//TODO add details specific to each message.
 		long noOfMsgsAcked = getNoOfMessagesAcked(sequenceAck.getAcknowledgementRanges().iterator());
-		SequencePropertyBean ackedMessagesBean = seqPropMgr.retrieve(outSequenceId,Sandesha2Constants.SequenceProperties.NO_OF_MSGS_ACKED);
+		SequencePropertyBean ackedMessagesBean = seqPropMgr.retrieve(outSequenceId,Sandesha2Constants.SequenceProperties.NO_OF_OUTGOING_MSGS_ACKED);
 		boolean added = false;
 		
 		if (ackedMessagesBean==null) {
 			added = true;
 			ackedMessagesBean = new SequencePropertyBean ();
 			ackedMessagesBean.setSequenceID(outSequenceId);
-			ackedMessagesBean.setName(Sandesha2Constants.SequenceProperties.NO_OF_MSGS_ACKED);
+			ackedMessagesBean.setName(Sandesha2Constants.SequenceProperties.NO_OF_OUTGOING_MSGS_ACKED);
 		}
 		
 		ackedMessagesBean.setValue(Long.toString(noOfMsgsAcked));

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java?rev=359770&r1=359769&r2=359770&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java Thu Dec 29 02:22:01 2005
@@ -27,6 +27,8 @@
 import org.apache.sandesha2.TerminateManager;
 import org.apache.sandesha2.storage.StorageManager;
 import org.apache.sandesha2.storage.Transaction;
+import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
+import org.apache.sandesha2.storage.beans.SequencePropertyBean;
 import org.apache.sandesha2.util.SandeshaUtil;
 import org.apache.sandesha2.util.SequenceManager;
 import org.apache.sandesha2.wsrm.SequenceAcknowledgement;
@@ -51,7 +53,7 @@
 			AcknowledgementProcessor ackProcessor = new AcknowledgementProcessor();
 			ackProcessor.processMessage(terminateSeqRMMSg);
 		}
-
+		
 		//Processing the terminate message
 		//TODO Add terminate sequence message logic.
 		TerminateSequence terminateSequence = (TerminateSequence) terminateSeqRMMSg.getMessagePart(Sandesha2Constants.MessageParts.TERMINATE_SEQ);
@@ -63,8 +65,18 @@
 			throw new SandeshaException ("Invalid sequence id");
 		
 		ConfigurationContext context = terminateSeqMsg.getConfigurationContext();
-
 		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context);
+		SequencePropertyBeanMgr sequencePropertyBeanMgr = storageManager.getSequencePropretyBeanMgr();
+
+		Transaction terminateReceivedTransaction = storageManager.getTransaction();
+		SequencePropertyBean terminateReceivedBean = new SequencePropertyBean ();
+		terminateReceivedBean.setSequenceID(sequenceId);
+		terminateReceivedBean.setName(Sandesha2Constants.SequenceProperties.TERMINATE_RECEIVED);
+		terminateReceivedBean.setValue("true");
+		
+		sequencePropertyBeanMgr.insert(terminateReceivedBean);
+		
+		terminateReceivedTransaction.commit();
 		
 		Transaction terminateTransaction = storageManager.getTransaction();
 		

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/CreateSeqBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/CreateSeqBeanMgr.java?rev=359770&r1=359769&r2=359770&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/CreateSeqBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/CreateSeqBeanMgr.java Thu Dec 29 02:22:01 2005
@@ -17,7 +17,6 @@
 
 package org.apache.sandesha2.storage.beanmanagers;
 
-import java.sql.ResultSet;
 import java.util.Collection;
 
 import org.apache.sandesha2.storage.SandeshaStorageException;

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/InvokerBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/InvokerBeanMgr.java?rev=359770&r1=359769&r2=359770&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/InvokerBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/InvokerBeanMgr.java Thu Dec 29 02:22:01 2005
@@ -17,7 +17,6 @@
 
 package org.apache.sandesha2.storage.beanmanagers;
 
-import java.sql.ResultSet;
 import java.util.Collection;
 
 import org.apache.sandesha2.storage.SandeshaStorageException;

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/NextMsgBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/NextMsgBeanMgr.java?rev=359770&r1=359769&r2=359770&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/NextMsgBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/NextMsgBeanMgr.java Thu Dec 29 02:22:01 2005
@@ -17,7 +17,6 @@
 
 package org.apache.sandesha2.storage.beanmanagers;
 
-import java.sql.ResultSet;
 import java.util.Collection;
 
 import org.apache.sandesha2.storage.SandeshaStorageException;

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SenderBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SenderBeanMgr.java?rev=359770&r1=359769&r2=359770&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SenderBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SenderBeanMgr.java Thu Dec 29 02:22:01 2005
@@ -17,9 +17,8 @@
 
 package org.apache.sandesha2.storage.beanmanagers;
 
-import java.sql.ResultSet;
 import java.util.Collection;
-import org.apache.sandesha2.SandeshaException;
+
 import org.apache.sandesha2.storage.SandeshaStorageException;
 import org.apache.sandesha2.storage.beans.SenderBean;
 

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SequencePropertyBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SequencePropertyBeanMgr.java?rev=359770&r1=359769&r2=359770&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SequencePropertyBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SequencePropertyBeanMgr.java Thu Dec 29 02:22:01 2005
@@ -17,7 +17,6 @@
 
 package org.apache.sandesha2.storage.beanmanagers;
 
-import java.sql.ResultSet;
 import java.util.Collection;
 
 import org.apache.sandesha2.storage.SandeshaStorageException;

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/util/SandeshaUtil.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/util/SandeshaUtil.java?rev=359770&r1=359769&r2=359770&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/util/SandeshaUtil.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/util/SandeshaUtil.java Thu Dec 29 02:22:01 2005
@@ -58,6 +58,8 @@
 import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.sandesha2.SandeshaException;
 import org.apache.sandesha2.storage.StorageManager;
+import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
+import org.apache.sandesha2.storage.beans.SequencePropertyBean;
 import org.apache.sandesha2.workers.InOrderInvoker;
 import org.apache.sandesha2.workers.Sender;
 import org.apache.sandesha2.wsrm.AcknowledgementRange;
@@ -592,6 +594,20 @@
 			return to;
 		else 
 			return to + ":" +sequenceKey;
+	}
+	
+	public static String getSequenceIDFromInternalSequenceID (String internalSequenceID, ConfigurationContext configurationContext)  throws SandeshaException {
+		
+		StorageManager storageManager = getSandeshaStorageManager(configurationContext);
+		SequencePropertyBeanMgr sequencePropertyBeanMgr = storageManager.getSequencePropretyBeanMgr();
+		
+		SequencePropertyBean outSequenceBean = sequencePropertyBeanMgr.retrieve(internalSequenceID, Sandesha2Constants.SequenceProperties.OUT_SEQUENCE_ID);
+		
+		String sequeunceID = null;
+		if (outSequenceBean!=null)
+			sequeunceID = outSequenceBean.getValue();
+		
+		return sequeunceID;
 	}
 
 }

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/util/SequenceManager.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/util/SequenceManager.java?rev=359770&r1=359769&r2=359770&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/util/SequenceManager.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/util/SequenceManager.java Thu Dec 29 02:22:01 2005
@@ -6,8 +6,8 @@
  */
 package org.apache.sandesha2.util;
 
-import java.util.ArrayList;
 import java.util.Collection;
+import java.util.StringTokenizer;
 
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.addressing.EndpointReference;
@@ -22,10 +22,8 @@
 import org.apache.sandesha2.policy.RMPolicyBean;
 import org.apache.sandesha2.storage.StorageManager;
 import org.apache.sandesha2.storage.Transaction;
-import org.apache.sandesha2.storage.beanmanagers.CreateSeqBeanMgr;
 import org.apache.sandesha2.storage.beanmanagers.NextMsgBeanMgr;
 import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
-import org.apache.sandesha2.storage.beans.CreateSeqBean;
 import org.apache.sandesha2.storage.beans.NextMsgBean;
 import org.apache.sandesha2.storage.beans.SequencePropertyBean;
 import org.apache.sandesha2.wsrm.CreateSequence;
@@ -232,7 +230,7 @@
 		return sequenceTimedOut;
 	}
 	
-	public static long getAckedMessageCount (String internalSequenceID,ConfigurationContext configurationContext) throws SandeshaException {
+	public static long getOutGoingSequenceAckedMessageCount (String internalSequenceID,ConfigurationContext configurationContext) throws SandeshaException {
 		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
 		Transaction transaction = storageManager.getTransaction();
 		SequencePropertyBeanMgr seqPropBeanMgr = storageManager.getSequencePropretyBeanMgr();
@@ -251,16 +249,17 @@
 		SequencePropertyBean seqIDBean = (SequencePropertyBean) seqIDBeans.iterator().next();
 		String sequenceID = seqIDBean.getSequenceID();
 
-		SequencePropertyBean ackedMsgBean = seqPropBeanMgr.retrieve(sequenceID,Sandesha2Constants.SequenceProperties.NO_OF_MSGS_ACKED);
+		SequencePropertyBean ackedMsgBean = seqPropBeanMgr.retrieve(sequenceID,Sandesha2Constants.SequenceProperties.NO_OF_OUTGOING_MSGS_ACKED);
 		if (ackedMsgBean==null)
 			return 0; //No acknowledgement has been received yet.
 		
 		long noOfMessagesAcked = Long.parseLong(ackedMsgBean.getValue());
+		transaction.commit();
 		
 		return noOfMessagesAcked;
 	}
 	
-	public static boolean isSequenceCompleted (String internalSequenceID,ConfigurationContext configurationContext) throws SandeshaException {
+	public static boolean isOutGoingSequenceCompleted (String internalSequenceID,ConfigurationContext configurationContext) throws SandeshaException {
 		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
 		Transaction transaction = storageManager.getTransaction();
 		SequencePropertyBeanMgr seqPropBeanMgr = storageManager.getSequencePropretyBeanMgr();
@@ -286,7 +285,47 @@
 		if ("true".equals(terminateAddedBean.getValue()))
 			return true;
 
+		transaction.commit();
 		return false;
+	}
+	
+	public static long getIncomingSequenceAckedMessageCount (String sequenceID, ConfigurationContext configurationContext) throws SandeshaException {
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
+		Transaction transaction = storageManager.getTransaction();
+		SequencePropertyBeanMgr seqPropBeanMgr = storageManager.getSequencePropretyBeanMgr();
+		
+		SequencePropertyBean receivedMsgsBean = seqPropBeanMgr.retrieve(sequenceID, Sandesha2Constants.SequenceProperties.RECEIVED_MESSAGES);
+		
+		//we should be able to assume that all the received messages has been acked.
+		String receivedMsgsStr = receivedMsgsBean.getValue();
+
+		StringTokenizer tokenizer = new StringTokenizer (receivedMsgsStr,",");
+		
+		long count = 0;
+		while (tokenizer.hasMoreTokens()) {
+			String temp = tokenizer.nextToken();
+			count++;
+		}
+
+
+		transaction.commit();
+		return count;
+	}
+	
+	public static boolean isIncomingSequenceCompleted (String sequenceID, ConfigurationContext configurationContext) throws SandeshaException {
+		
+		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
+		Transaction transaction = storageManager.getTransaction();
+		SequencePropertyBeanMgr seqPropBeanMgr = storageManager.getSequencePropretyBeanMgr();
+		
+		SequencePropertyBean terminateReceivedBean = seqPropBeanMgr.retrieve(sequenceID,Sandesha2Constants.SequenceProperties.TERMINATE_RECEIVED);
+		boolean complete = false;
+		
+		if (terminateReceivedBean!=null && "true".equals(terminateReceivedBean.getValue()))
+			complete = true;
+		
+		transaction.commit();
+		return complete;
 	}
 	
 	



---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org