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 ga...@apache.org on 2006/12/20 19:03:44 UTC

svn commit: r489161 - in /webservices/sandesha/trunk/java/src/org/apache/sandesha2: Sandesha2Constants.java msgprocessors/SequenceProcessor.java msgprocessors/TerminateSeqMsgProcessor.java storage/beans/RMDBean.java

Author: gatfora
Date: Wed Dec 20 10:03:44 2006
New Revision: 489161

URL: http://svn.apache.org/viewvc?view=rev&rev=489161
Log:
Move the highestIn properties to the RMDBean

Modified:
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMDBean.java

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java?view=diff&rev=489161&r1=489160&r2=489161
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java Wed Dec 20 10:03:44 2006
@@ -274,16 +274,12 @@
 
 		String REPLY_TO_EPR = "ReplyToEPR";
 
-		String APP_MSG_PROCESSOR_LIST = "AppMsgProcessorList";
-
 		String OUT_CREATE_SEQUENCE_SENT = "OutCreateSeqSent";
 
 		String NEXT_MESSAGE_NUMBER = "NextMsgNo";
 
 		String INCOMING_SEQUENCE_LIST = "IncomingSequenceList";
 
-		String CHECK_RESPONSE = "CheckResponse";
-
 		String OFFERED_SEQUENCE = "OfferedSequence";
 
 		String TERMINATE_ADDED = "TerminateAdded";
@@ -296,8 +292,6 @@
 		
 		String TRANSPORT_TO = "TransportTo";
 		
-		String OUT_SEQ_ACKSTO = "OutSequenceAcksTo";
-		
 		String SEQUENCE_CLOSED = "SequenceClosed";
 		
 		String SEQUENCE_CLOSED_CLIENT = "SequenceClosedClient"; //indicates the client has sent a close sequence
@@ -305,15 +299,6 @@
 		String SEQUENCE_TERMINATED = "SequenceTerminated";
 		
 		String SEQUENCE_TIMED_OUT = "SequenceTimedOut";
-		
-//		String LAST_MESSAGE = "LastMessage";
-
-		String REQUEST_SIDE_SEQUENCE_ID = "RequestSideSequenceID"; 		//used only at the server side
-		
-		// A pair of properties to keep track of the highest received message
-		// for an inbound sequence.
-		String HIGHEST_IN_MSG_NUMBER = "HighestInMsgNumber";
-		String HIGHEST_IN_MSG_ID = "HighestInMsgId";
 		
 		// Once an inbound sequence is closed, or we receive a message with the
 		// 'LastMessage' marker, we record the message id of the highest message

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java?view=diff&rev=489161&r1=489160&r2=489161
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java Wed Dec 20 10:03:44 2006
@@ -151,17 +151,19 @@
 			throw new SandeshaException(message);
 		}
 
-		String key = SandeshaUtil.getUUID(); // key to store the message.
+		// Pause the messages bean if not the right message to invoke.
+		RMDBeanMgr mgr = storageManager.getRMDBeanMgr();
+		RMDBean bean = mgr.retrieve(sequenceId);
+
+		if (bean == null) {
+			throw new SandeshaException(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.cannotFindSequence,
+					sequenceId));
+		}
 
+		String key = SandeshaUtil.getUUID(); // key to store the message.
 		// updating the Highest_In_Msg_No property which gives the highest
 		// message number retrieved from this sequence.
-		String highetsInMsgNoStr = SandeshaUtil.getSequenceProperty(propertyKey,
-				Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_NUMBER, storageManager);
-
-		long highestInMsgNo = 0;
-		if (highetsInMsgNoStr != null) {
-			highestInMsgNo = Long.parseLong(highetsInMsgNoStr);
-		}
+		long highestInMsgNo = bean.getHighestInMessageNumber();
 
 		if (msgNo > highestInMsgNo) {
 			// If WS-Addressing is turned off there may not be a message id written into the SOAP
@@ -172,18 +174,11 @@
 				messageId = SandeshaUtil.getUUID();
 				msgCtx.setMessageID(messageId);
 			}
-			SequencePropertyBean highestMsgNoBean = new SequencePropertyBean(propertyKey,
-					Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_NUMBER, Long.toString(msgNo));
-			SequencePropertyBean highestMsgIdBean = new SequencePropertyBean(propertyKey,
-					Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_ID, messageId);
-
-			if (highetsInMsgNoStr != null) {
-				seqPropMgr.update(highestMsgNoBean);
-				seqPropMgr.update(highestMsgIdBean);
-			} else {
-				seqPropMgr.insert(highestMsgNoBean);
-				seqPropMgr.insert(highestMsgIdBean);
-			}
+			
+			bean.setHighestInMessageId(messageId);
+			bean.setHighestInMessageNumber(msgNo);
+			// Update the bean
+			mgr.update(bean);
 		}
 
 		String messagesStr = "";
@@ -217,17 +212,6 @@
 			seqPropMgr.update(msgsBean);
 		}
 
-		// Pause the messages bean if not the right message to invoke.
-		RMDBeanMgr mgr = storageManager.getRMDBeanMgr();
-		RMDBean bean = mgr.retrieve(sequenceId);
-
-		if (bean == null) {
-			throw new SandeshaException(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.cannotFindSequence,
-					sequenceId));
-		}
-
-		InvokerBeanMgr storageMapMgr = storageManager.getInvokerBeanMgr();
-
 		// inorder invocation is still a global property
 		boolean inOrderInvocation = SandeshaUtil.getPropertyBean(
 				msgCtx.getConfigurationContext().getAxisConfiguration()).isInOrder();
@@ -238,6 +222,8 @@
 		rmMsgCtx.setProperty(Sandesha2Constants.MessageContextProperties.MESSAGE_NUMBER,new Long (msgNo));
 		
 		if (inOrderInvocation && !msgNoPresentInList) {
+
+			InvokerBeanMgr storageMapMgr = storageManager.getInvokerBeanMgr();
 
 			// saving the message.
 			try {

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java?view=diff&rev=489161&r1=489160&r2=489161
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java Wed Dec 20 10:03:44 2006
@@ -39,7 +39,9 @@
 import org.apache.sandesha2.security.SecurityManager;
 import org.apache.sandesha2.security.SecurityToken;
 import org.apache.sandesha2.storage.StorageManager;
+import org.apache.sandesha2.storage.beanmanagers.RMDBeanMgr;
 import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
+import org.apache.sandesha2.storage.beans.RMDBean;
 import org.apache.sandesha2.storage.beans.SequencePropertyBean;
 import org.apache.sandesha2.util.AcknowledgementManager;
 import org.apache.sandesha2.util.FaultManager;
@@ -164,19 +166,10 @@
 
 		SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropertyBeanMgr();
 
-		String highestImMsgNumberStr = SandeshaUtil.getSequenceProperty(requestSidesequencePropertyKey,
-				Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_NUMBER, storageManager);
-		String highestImMsgId = SandeshaUtil.getSequenceProperty(requestSidesequencePropertyKey,
-				Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_ID, storageManager);
-
-		long highestInMsgNo = 0;
-		if (highestImMsgNumberStr != null) {
-			if (highestImMsgId == null)
-				throw new SandeshaException(SandeshaMessageHelper.getMessage(
-						SandeshaMessageKeys.highestMsgIdNotStored, sequenceId));
+		RMDBeanMgr mgr = storageManager.getRMDBeanMgr();
+		RMDBean bean = mgr.retrieve(sequenceId);
 
-			highestInMsgNo = Long.parseLong(highestImMsgNumberStr);
-		}
+		long highestInMsgNo = bean.getHighestInMessageNumber();
 
 		// following will be valid only for the server side, since the obtained
 		// int. seq ID is only valid there.
@@ -193,9 +186,9 @@
 			} else {
 				// Mark up the highest inbound message as if it had the last message flag on it.
 				// 
-				String inMsgId = highestImMsgId;
+				String inMsgId = bean.getHighestInMessageId();
 				SequencePropertyBean lastInMsgBean = new SequencePropertyBean(requestSidesequencePropertyKey,
-						Sandesha2Constants.SequenceProperties.LAST_IN_MSG_ID, highestImMsgId);
+						Sandesha2Constants.SequenceProperties.LAST_IN_MSG_ID, bean.getHighestInMessageId());
 				seqPropMgr.insert(lastInMsgBean);
 				
 				// If an outbound message has already gone out with that relatesTo, then we can terminate

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMDBean.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMDBean.java?view=diff&rev=489161&r1=489160&r2=489161
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMDBean.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMDBean.java Wed Dec 20 10:03:44 2006
@@ -50,6 +50,11 @@
 	 */
 	private String referenceMessageKey;
 	
+	private long highestInMessageNumber = 0;
+	
+	private String highestInMessageId;
+	
+	
 
 	public RMDBean() {
 
@@ -106,6 +111,22 @@
 		this.referenceMessageKey = referenceMessageKey;
 	}
 	
+	public String getHighestInMessageId() {
+  	return highestInMessageId;
+  }
+
+	public void setHighestInMessageId(String highestInMessageId) {
+  	this.highestInMessageId = highestInMessageId;
+  }
+
+	public long getHighestInMessageNumber() {
+  	return highestInMessageNumber;
+  }
+
+	public void setHighestInMessageNumber(long highestInMessageNumber) {
+  	this.highestInMessageNumber = highestInMessageNumber;
+  }
+	
 	public String toString() {
 		StringBuffer result = new StringBuffer();
 		result.append(this.getClass().getName());
@@ -113,6 +134,9 @@
 		result.append("\nNext Msg # : "); result.append(nextMsgNoToProcess);
 		result.append("\nPolling    : "); result.append(pollingMode);
 		result.append("\nRef Msg Key: "); result.append(referenceMessageKey);
+		result.append("\nHishestInMessageNumber: "); result.append(highestInMessageNumber);
+		result.append("\nHishestInMessageKey: "); result.append(highestInMessageId);
 		return result.toString();
 	}
+
 }



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