You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by ch...@apache.org on 2006/09/07 14:00:11 UTC

svn commit: r441059 - in /webservices/sandesha/trunk/java/src/org/apache/sandesha2: util/MessageRetransmissionAdjuster.java workers/SenderWorker.java

Author: chamikara
Date: Thu Sep  7 05:00:10 2006
New Revision: 441059

URL: http://svn.apache.org/viewvc?view=rev&rev=441059
Log:
Patch from Andrew.

Modified:
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java?view=diff&rev=441059&r1=441058&r2=441059
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java Thu Sep  7 05:00:10 2006
@@ -28,8 +28,6 @@
 import org.apache.sandesha2.client.SandeshaClientConstants;
 import org.apache.sandesha2.client.SandeshaListener;
 import org.apache.sandesha2.client.SequenceReport;
-import org.apache.sandesha2.i18n.SandeshaMessageHelper;
-import org.apache.sandesha2.i18n.SandeshaMessageKeys;
 import org.apache.sandesha2.storage.StorageManager;
 import org.apache.sandesha2.storage.beans.SenderBean;
 
@@ -42,22 +40,17 @@
 
 	private static final Log log = LogFactory.getLog(MessageRetransmissionAdjuster.class);
 
-	public boolean adjustRetransmittion(SenderBean retransmitterBean, ConfigurationContext configContext,
+	public static boolean adjustRetransmittion(RMMsgContext rmMsgCtx, SenderBean retransmitterBean, ConfigurationContext configContext,
 			StorageManager storageManager) throws SandeshaException {
 
-		String storedKey = (String) retransmitterBean.getMessageContextRefKey();
-
-		if (storedKey == null)
-			throw new SandeshaException(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.storedKeyNotPresent));
-
-		MessageContext messageContext = storageManager.retrieveMessageContext(storedKey, configContext);
-		RMMsgContext rmMsgCtx = MsgInitializer.initializeMessage(messageContext);
+		if (log.isDebugEnabled())
+			log.debug("Enter: MessageRetransmissionAdjuster::adjustRetransmittion");
 
 		String internalSequenceID = retransmitterBean.getInternalSequenceID();
 		String sequenceID = retransmitterBean.getSequenceID();
 
 		// operation is the lowest level Sandesha2 could be attached.
-		SandeshaPropertyBean propertyBean = SandeshaUtil.getPropertyBean(messageContext.getAxisOperation());
+		SandeshaPropertyBean propertyBean = SandeshaUtil.getPropertyBean(rmMsgCtx.getMessageContext().getAxisOperation());
 
 		retransmitterBean.setSentCount(retransmitterBean.getSentCount() + 1);
 		adjustNextRetransmissionTime(retransmitterBean, propertyBean);
@@ -78,10 +71,12 @@
 
 			// Only messages of outgoing sequences get retransmitted. So named
 			// following method according to that.
-			finalizeTimedOutSequence(internalSequenceID, sequenceID, messageContext, storageManager);
+			finalizeTimedOutSequence(internalSequenceID, sequenceID, rmMsgCtx.getMessageContext(), storageManager);
 			continueSending = false;
 		}
 
+		if (log.isDebugEnabled())
+			log.debug("Exit: MessageRetransmissionAdjuster::adjustRetransmittion, " + continueSending);
 		return continueSending;
 	}
 
@@ -94,7 +89,7 @@
 	 * @param policyBean
 	 * @return
 	 */
-	private SenderBean adjustNextRetransmissionTime(SenderBean retransmitterBean, SandeshaPropertyBean propertyBean) {
+	private static SenderBean adjustNextRetransmissionTime(SenderBean retransmitterBean, SandeshaPropertyBean propertyBean) {
 
 		// long lastSentTime = retransmitterBean.getTimeToSend();
 
@@ -117,11 +112,11 @@
 		return retransmitterBean;
 	}
 
-	private void stopRetransmission(SenderBean bean) {
+	private static void stopRetransmission(SenderBean bean) {
 		bean.setSend(false);
 	}
 
-	private long generateNextExponentialBackedoffDifference(int count, long initialInterval) {
+	private static long generateNextExponentialBackedoffDifference(int count, long initialInterval) {
 		long interval = initialInterval;
 		for (int i = 1; i < count; i++) {
 			interval = interval * 2;
@@ -130,7 +125,7 @@
 		return interval;
 	}
 
-	private void finalizeTimedOutSequence(String internalSequenceID, String sequenceID, MessageContext messageContext,
+	private static void finalizeTimedOutSequence(String internalSequenceID, String sequenceID, MessageContext messageContext,
 			StorageManager storageManager) throws SandeshaException {
 		ConfigurationContext configurationContext = messageContext.getConfigurationContext();
 

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java?view=diff&rev=441059&r1=441058&r2=441059
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java Thu Sep  7 05:00:10 2006
@@ -35,9 +35,9 @@
 
 public class SenderWorker extends SandeshaWorker implements Runnable {
 
-	ConfigurationContext configurationContext = null;
-	String messageId = null;
-	Log log = LogFactory.getLog(SenderWorker.class);
+	private ConfigurationContext configurationContext = null;
+	private String messageId = null;
+	private static final Log log = LogFactory.getLog(SenderWorker.class);
 	
 	public SenderWorker (ConfigurationContext configurationContext, String messageId) {
 		this.configurationContext = configurationContext;
@@ -59,8 +59,9 @@
 			MessageContext msgCtx = storageManager.retrieveMessageContext(key, configurationContext);
 			msgCtx.setProperty(Sandesha2Constants.WITHIN_TRANSACTION, Sandesha2Constants.VALUE_TRUE);
 
-			MessageRetransmissionAdjuster retransmitterAdjuster = new MessageRetransmissionAdjuster();
-			boolean continueSending = retransmitterAdjuster.adjustRetransmittion(senderBean, configurationContext,
+			RMMsgContext rmMsgCtx = MsgInitializer.initializeMessage(msgCtx);
+
+			boolean continueSending = MessageRetransmissionAdjuster.adjustRetransmittion(rmMsgCtx, senderBean, configurationContext,
 					storageManager);
 			if (!continueSending) {
 				return;
@@ -86,8 +87,6 @@
 				log.debug(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.sendHasUnavailableMsgEntry));
 				return;			
 			}
-
-			RMMsgContext rmMsgCtx = MsgInitializer.initializeMessage(msgCtx);
 
 			// operation is the lowest level Sandesha2 should be attached
 			ArrayList msgsNotToSend = SandeshaUtil.getPropertyBean(msgCtx.getAxisOperation()).getMsgTypesToDrop();



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