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 2006/02/06 06:29:01 UTC

svn commit: r375186 - in /webservices/sandesha/trunk/src/org/apache/sandesha2: ./ handlers/ msgprocessors/ storage/ util/ workers/

Author: chamikara
Date: Sun Feb  5 21:29:00 2006
New Revision: 375186

URL: http://svn.apache.org/viewcvs?rev=375186&view=rev
Log:
Corrections to the transaction logic.

Modified:
    webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaException.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/SandeshaStorageException.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/util/SequenceManager.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/workers/InOrderInvoker.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/workers/Sender.java

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaException.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaException.java?rev=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaException.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaException.java Sun Feb  5 21:29:00 2006
@@ -32,4 +32,8 @@
 		super (message);
 	}
 	
+	public SandeshaException (Exception e) {
+		super (e);
+	}
+	
 }

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=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.java Sun Feb  5 21:29:00 2006
@@ -183,9 +183,6 @@
 		
 		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configContext);
 		
-		//TODO - remove folowing redundant transaction
-		Transaction terminateSendingTransaction = storageManager.getTransaction();
-		
 		SequencePropertyBeanMgr sequencePropertyBeanMgr = storageManager.getSequencePropretyBeanMgr();
 		SenderBeanMgr retransmitterBeanMgr = storageManager.getRetransmitterBeanMgr();
 		CreateSeqBeanMgr createSeqBeanMgr = storageManager.getCreateSeqBeanMgr();
@@ -262,8 +259,6 @@
 				sequencePropertyBeanMgr.delete(sequencePropertyBean.getSequenceID(),sequencePropertyBean.getName());
 			}
 		}
-		
-		terminateSendingTransaction.commit();
 		
 		SandeshaUtil.stopSenderForTheSequence(internalSequenceId);
 		

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java?rev=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java Sun Feb  5 21:29:00 2006
@@ -142,11 +142,10 @@
 				msgCtx.getAxisService().addParameter(parameter);
 		}
 
-		CreateSeqBeanMgr createSeqMgr = storageManager.getCreateSeqBeanMgr();
 		SequencePropertyBeanMgr seqPropMgr = storageManager
 				.getSequencePropretyBeanMgr();
 
-		Transaction transaction = storageManager.getTransaction();
+		//Transaction transaction = storageManager.getTransaction();
 
 		boolean serverSide = msgCtx.isServerSide();
 
@@ -213,6 +212,8 @@
 
 		// check if the first message
 
+		Transaction ouHandlerSetupTransaction = storageManager.getTransaction();
+		
 		long messageNumber = getNextMsgNo(context, internalSequenceId);
 
 		boolean sendCreateSequence = false;
@@ -244,10 +245,14 @@
 			// if (!serverSide && sendCreateSequence) {
 			SequenceManager.setupNewClientSequence(msgCtx, internalSequenceId);
 		}
+		
+		ouHandlerSetupTransaction.commit();
 
 		// if first message - add create sequence
 		if (sendCreateSequence) {
 
+			Transaction beginCreateSeqTransaction = storageManager.getTransaction();
+			
 			SequencePropertyBean responseCreateSeqAdded = seqPropMgr
 					.retrieve(
 							internalSequenceId,
@@ -314,15 +319,14 @@
 					}
 				}
 
-				transaction.commit();
+				beginCreateSeqTransaction.commit();
 
 				addCreateSequenceMessage(rmMsgCtx, internalSequenceId, acksTo);
 			}
 		}
 
 		// do response processing
-		Transaction responseProcessTransaction = storageManager
-				.getTransaction();
+
 
 		SOAPEnvelope env = rmMsgCtx.getSOAPEnvelope();
 		if (env == null) {
@@ -385,7 +389,7 @@
 			processResponseMessage(rmMsgCtx, internalSequenceId, messageNumber);
 
 		}
-		responseProcessTransaction.commit();
+		
 	}
 
 	public void addCreateSequenceMessage(RMMsgContext applicationRMMsg,
@@ -460,7 +464,7 @@
 				.getRetransmitterBeanMgr();
 
 		String key = SandeshaUtil.getUUID();
-		storageManager.storeMessageContext(key, createSeqMsg);
+		//storageManager.storeMessageContext(key, createSeqMsg);
 
 		SenderBean createSeqEntry = new SenderBean();
 		createSeqEntry.setMessageContextRefKey(key);
@@ -529,6 +533,9 @@
 
 		StorageManager storageManager = SandeshaUtil
 				.getSandeshaStorageManager(msg.getConfigurationContext());
+		
+		Transaction processResponseTransaction = storageManager.getTransaction();
+		
 		SequencePropertyBeanMgr sequencePropertyMgr = storageManager
 				.getSequencePropretyBeanMgr();
 
@@ -695,7 +702,7 @@
 		// String key = storageManager
 		// .storeMessageContext(rmMsg.getMessageContext());
 		String storageKey = SandeshaUtil.getUUID();
-		storageManager.storeMessageContext(storageKey, msg);
+		//storageManager.storeMessageContext(storageKey, msg);
 
 		appMsgEntry.setMessageContextRefKey(storageKey);
 
@@ -730,6 +737,7 @@
 			
 		}
 
+		processResponseTransaction.commit();
 	}
 
 	private long getNextMsgNo(ConfigurationContext context,

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=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java Sun Feb  5 21:29:00 2006
@@ -85,8 +85,6 @@
 				.getSequencePropretyBeanMgr();
 
 
-		//Starting transaction
-		Transaction ackTransaction = storageManager.getTransaction();
 
 		Iterator ackRangeIterator = sequenceAck.getAcknowledgementRanges()
 				.iterator();
@@ -100,8 +98,13 @@
 		}
 
 		//updating the last activated time of the sequence.
-		SequenceManager.updateLastActivatedTime(outSequenceId,rmMsgCtx.getMessageContext().getConfigurationContext());
+//		Transaction lastUpdatedTimeTransaction = storageManager.getTransaction();
+//		SequenceManager.updateLastActivatedTime(outSequenceId,rmMsgCtx.getMessageContext().getConfigurationContext());
+//		lastUpdatedTimeTransaction.commit();
 		
+		//Starting transaction
+		Transaction ackTransaction = storageManager.getTransaction();
+
 		SequencePropertyBean internalSequenceBean = seqPropMgr.retrieve(
 				outSequenceId, Sandesha2Constants.SequenceProperties.INTERNAL_SEQUENCE_ID);
 
@@ -215,10 +218,10 @@
 					lastOutMessageNo);
 			
 			if (complete) {
-				Transaction terminateTransaction = storageManager.getTransaction();
+				//Transaction terminateTransaction = storageManager.getTransaction();
 				addTerminateSequenceMessage(rmMsgCtx, outSequenceId,
 						internalSequenceId);
-				terminateTransaction.commit();
+				//terminateTransaction.commit();
 			}
 		}
 	
@@ -248,6 +251,8 @@
 				.getSandeshaStorageManager(incomingAckRMMsg.getMessageContext()
 						.getConfigurationContext());
 
+		Transaction addTerminateSeqTransaction = storageManager.getTransaction();
+		
 		SequencePropertyBeanMgr seqPropMgr = storageManager
 				.getSequencePropretyBeanMgr();
 
@@ -302,7 +307,7 @@
 		terminateBean.setMessageContextRefKey(key);
 
 		
-		storageManager.storeMessageContext(key,terminateRMMessage.getMessageContext());
+		//storageManager.storeMessageContext(key,terminateRMMessage.getMessageContext());
 
 		
 		//Set a retransmitter lastSentTime so that terminate will be send with
@@ -344,6 +349,8 @@
 		terminateRMMessage.setProperty(Sandesha2Constants.SET_SEND_TO_TRUE,Sandesha2Constants.VALUE_TRUE);
 		
 		terminateRMMessage.getMessageContext().setTransportOut(new Sandesha2TransportOutDesc ());
+		
+		addTerminateSeqTransaction.commit();
 		
 	    AxisEngine engine = new AxisEngine (incomingAckRMMsg.getMessageContext().getConfigurationContext());
 	    try {

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java?rev=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java Sun Feb  5 21:29:00 2006
@@ -113,8 +113,7 @@
 				.getSandeshaStorageManager(rmMsgCtx.getMessageContext()
 						.getConfigurationContext());
 
-		Transaction updataMsgStringTransaction = storageManager
-				.getTransaction();
+
 
 		SequencePropertyBeanMgr seqPropMgr = storageManager
 				.getSequencePropretyBeanMgr();
@@ -131,8 +130,14 @@
 			throw new SandeshaException(message);
 		}
 
+
+		Transaction lastUpdatedTimeTransaction = storageManager.getTransaction();
 		//updating the last activated time of the sequence.
 		SequenceManager.updateLastActivatedTime(sequenceId,configCtx);
+		lastUpdatedTimeTransaction.commit();
+		
+		Transaction updataMsgStringTransaction = storageManager
+				.getTransaction();
 		
 		SequencePropertyBean msgsBean = seqPropMgr.retrieve(sequenceId,
 				Sandesha2Constants.SequenceProperties.COMPLETED_MESSAGES);
@@ -398,7 +403,7 @@
 			String key = SandeshaUtil.getUUID();
 			
 			//dumping to the storage will be done be Sandesha2 Transport Sender
-			storageManager.storeMessageContext(key,ackMsgCtx);
+			//storageManager.storeMessageContext(key,ackMsgCtx);
 			
 			SenderBean ackBean = new SenderBean();
 			ackBean.setMessageContextRefKey(key);

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java?rev=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java Sun Feb  5 21:29:00 2006
@@ -167,6 +167,13 @@
 			Object obj1 = createSeqMsg.getOperationContext().getProperty(
 					org.apache.axis2.Constants.RESPONSE_WRITTEN);
 
+			//commiting tr. before sending the response msg.
+			createSequenceTransaction.commit();
+			
+			Transaction updateLastActivatedTransaction = storageManager.getTransaction();
+			SequenceManager.updateLastActivatedTime(newSequenceId,createSeqRMMsg.getMessageContext().getConfigurationContext());
+			updateLastActivatedTransaction.commit();
+			
 			AxisEngine engine = new AxisEngine(context);
 			engine.send(outMessage);
 
@@ -197,6 +204,6 @@
 
 		createSeqRMMsg.pause();
 		
-		createSequenceTransaction.commit();
+		//createSequenceTransaction.commit();
 	}
 }

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java?rev=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java Sun Feb  5 21:29:00 2006
@@ -248,9 +248,12 @@
 			storageManager.updateMessageContext(key,applicationMsg);
 		}
 
+		updateAppMessagesTransaction.commit();
+		
+		Transaction lastUpdatedTimeTransaction = storageManager.getTransaction();
 		SequenceManager.updateLastActivatedTime(newOutSequenceId,configCtx);
+		lastUpdatedTimeTransaction.commit();
 		
-		updateAppMessagesTransaction.commit();
 		
 		createSeqResponseRMMsgCtx.getMessageContext().getOperationContext()
 				.setProperty(org.apache.axis2.Constants.RESPONSE_WRITTEN,

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=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java Sun Feb  5 21:29:00 2006
@@ -87,8 +87,9 @@
 		terminateReceivedTransaction.commit();
 		
 		Transaction terminateTransaction = storageManager.getTransaction();
-		
 		TerminateManager.cleanReceivingSideOnTerminateMessage(context,sequenceId);
+		terminateTransaction.commit(); 
+		
 		SandeshaUtil.stopSenderForTheSequence(sequenceId);
 		
 		//removing an entry from the listener
@@ -104,10 +105,13 @@
 //			log.debug(message);
 //		}
 		
-		terminateTransaction.commit(); 
 		
+		
+		
+		Transaction lastUpdatedTransaction = storageManager.getTransaction();
 		SequenceManager.updateLastActivatedTime(sequenceId,context);
-
+		lastUpdatedTransaction.commit();
+		
 		terminateSeqRMMsg.pause();
 	}
 }

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/SandeshaStorageException.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/SandeshaStorageException.java?rev=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/SandeshaStorageException.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/SandeshaStorageException.java Sun Feb  5 21:29:00 2006
@@ -28,4 +28,9 @@
 	public SandeshaStorageException (String message) {
 		super (message);
 	}
+	
+	public SandeshaStorageException (Exception e) {
+		super (e);
+	}
+	
 }

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=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/util/SequenceManager.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/util/SequenceManager.java Sun Feb  5 21:29:00 2006
@@ -133,7 +133,7 @@
 //			log.info("Counght exception when starting listner. Possible server side start.");
 //		}
 		
-		updateLastActivatedTime(sequenceId,createSequenceMsg.getMessageContext().getConfigurationContext());
+		
 		
 		return sequenceId;
 	}
@@ -281,7 +281,7 @@
 	 */
 	public static void updateLastActivatedTime (String sequenceID, ConfigurationContext configContext) throws SandeshaException {
 		StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configContext);
-		Transaction lastActivatedTransaction = storageManager.getTransaction();
+		//Transaction lastActivatedTransaction = storageManager.getTransaction();
 		SequencePropertyBeanMgr sequencePropertyBeanMgr = storageManager.getSequencePropretyBeanMgr();
 		
 //		SequencePropertyBean internalSequenceFindBean = new SequencePropertyBean (sequenceID,Sandesha2Constants.SequenceProperties.INTERNAL_SEQUENCE_ID,null);
@@ -312,7 +312,7 @@
 		else
 			sequencePropertyBeanMgr.update(lastActivatedBean);
 		
-		lastActivatedTransaction.commit();
+	//	lastActivatedTransaction.commit();
 	}
 	
 	
@@ -351,13 +351,13 @@
 
 		boolean sequenceTimedOut = false;
 		
-		SequencePropertyBean lastActivatedBean = seqPropBeanMgr.retrieve(sequenceID,Sandesha2Constants.SequenceProperties.LAST_ACTIVATED_TIME);
-		if (lastActivatedBean!=null) {
-			long lastActivatedTime = Long.parseLong(lastActivatedBean.getValue());
-			long timeNow = System.currentTimeMillis();
-			if (lastActivatedTime+policyBean.getInactiveTimeoutInterval()<timeNow)
-				sequenceTimedOut = true;
-		}
+		//SequencePropertyBean lastActivatedBean = seqPropBeanMgr.retrieve(sequenceID,Sandesha2Constants.SequenceProperties.LAST_ACTIVATED_TIME);
+		//if (lastActivatedBean!=null) {
+		long lastActivatedTime = getLastActivatedTime(sequenceID,rmMsgCtx.getMessageContext().getConfigurationContext());
+		long timeNow = System.currentTimeMillis();
+		if (lastActivatedTime>0 && (lastActivatedTime+policyBean.getInactiveTimeoutInterval()<timeNow))
+			sequenceTimedOut = true;
+		//}
 		
 		return sequenceTimedOut;
 	}

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/workers/InOrderInvoker.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/workers/InOrderInvoker.java?rev=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/workers/InOrderInvoker.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/workers/InOrderInvoker.java Sun Feb  5 21:29:00 2006
@@ -31,6 +31,7 @@
 import org.apache.sandesha2.SandeshaException;
 import org.apache.sandesha2.TerminateManager;
 import org.apache.sandesha2.storage.StorageManager;
+import org.apache.sandesha2.storage.Transaction;
 import org.apache.sandesha2.storage.beanmanagers.InvokerBeanMgr;
 import org.apache.sandesha2.storage.beanmanagers.NextMsgBeanMgr;
 import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
@@ -111,6 +112,8 @@
 				SequencePropertyBeanMgr sequencePropMgr = storageManager
 						.getSequencePropretyBeanMgr();
 
+				Transaction preInvocationTransaction = storageManager.getTransaction();
+				
 				//Getting the incomingSequenceIdList
 				SequencePropertyBean allSequencesBean = (SequencePropertyBean) sequencePropMgr
 						.retrieve(
@@ -121,12 +124,17 @@
 
 				ArrayList allSequencesList = SandeshaUtil.getArrayListFromString( allSequencesBean
 						.getValue());
+				
+				preInvocationTransaction.commit();
+				
 				Iterator allSequencesItr = allSequencesList.iterator();
 
 				currentIteration: while (allSequencesItr.hasNext()) {
 
 					String sequenceId = (String) allSequencesItr.next();
 
+					Transaction sequenceInvocationTransaction = storageManager.getTransaction();
+					
 					NextMsgBean nextMsgBean = nextMsgMgr.retrieve(sequenceId);
 					if (nextMsgBean == null) {
 
@@ -152,14 +160,18 @@
 							new InvokerBean(null, nextMsgno, sequenceId))
 							.iterator();
 
+					sequenceInvocationTransaction.commit();
+					
 					while (stMapIt.hasNext()) {
 
 						InvokerBean stMapBean = (InvokerBean) stMapIt
 								.next();
 						String key = stMapBean.getMessageContextRefKey();
 
+						Transaction invocationTransaction = storageManager.getTransaction();
 						MessageContext msgToInvoke = storageManager.retrieveMessageContext(key,context);
-
+						invocationTransaction.commit();
+						
 						RMMsgContext rmMsg = MsgInitializer
 								.initializeMessage(msgToInvoke);
 						Sequence seq = (Sequence) rmMsg
@@ -177,13 +189,16 @@
 							log.info("Invoker invoking a '" + SandeshaUtil.getMessageTypeString(rmMsg
 												.getMessageType()) + "' message.");
 							
+							Transaction deleteEntryTransaction = storageManager.getTransaction();
 							//deleting the message entry.
 							storageMapMgr.delete(key);
+							deleteEntryTransaction.commit();
 
 						} catch (AxisFault e) {
-							throw new SandeshaException(e.getMessage());
+							throw new SandeshaException(e);
 						}
 
+						Transaction postInvocationTransaction = storageManager.getTransaction();
 						//undating the next msg to invoke
 						nextMsgno++;
 						stMapIt = storageMapMgr
@@ -206,11 +221,14 @@
 								break currentIteration;
 							}
 						}
+						postInvocationTransaction.commit();
 					}
 
+					Transaction updateNextMsgTransaction = storageManager.getTransaction();
 					nextMsgBean.setNextMsgNoToProcess(nextMsgno);
 					nextMsgMgr.update(nextMsgBean);
-
+					updateNextMsgTransaction.commit();
+				
 				}
 			} catch (SandeshaException e1) {
 				// TODO Auto-generated catch block

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/workers/Sender.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/workers/Sender.java?rev=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/workers/Sender.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/workers/Sender.java Sun Feb  5 21:29:00 2006
@@ -169,7 +169,7 @@
 							Sequence sequence = (Sequence) rmMsgCtx.getMessagePart(Sandesha2Constants.MessageParts.SEQUENCE);
 							String sequenceID = sequence.getIdentifier().getIdentifier();
 							//checking weather the sequence has been timed out.
-							boolean sequenceTimedOut = SequenceManager.hasSequenceTimedOut (sequenceID, rmMsgCtx);;
+							boolean sequenceTimedOut = SequenceManager.hasSequenceTimedOut (sequenceID, rmMsgCtx);
 							if (sequenceTimedOut) {
 								//sequence has been timed out.
 								//do time out processing.
@@ -234,21 +234,21 @@
 						//update or delete only if the object is still present.
 						SenderBean bean1 = mgr.retrieve(bean.getMessageID());
 						if (bean1 != null) {
-							if (bean.isReSend())
-								mgr.update(bean);
-							else
-								mgr.delete(bean.getMessageID());
+							if (bean.isReSend()) {
+								bean1.setSentCount(bean.getSentCount());
+								bean1.setTimeToSend(bean.getTimeToSend());
+							
+								mgr.update(bean1);
+							}else 
+								mgr.delete(bean1.getMessageID());
 						}
 
 						postSendTransaction.commit(); //commiting the current
 												  // transaction
 
-						Transaction processResponseTransaction =
-						storageManager.getTransaction();
 						if (!msgCtx.isServerSide())
 							checkForSyncResponses(msgCtx);
 												
-						processResponseTransaction.commit();
 
 						Transaction terminateCleaningTransaction = storageManager
 								.getTransaction();



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