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 ga...@apache.org on 2007/03/20 12:45:52 UTC

svn commit: r520368 - /webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/Sender.java

Author: gatfora
Date: Tue Mar 20 04:45:48 2007
New Revision: 520368

URL: http://svn.apache.org/viewvc?view=rev&rev=520368
Log:
Only remove sequences which have a set sequenceRemoveTimeout value

Modified:
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/Sender.java

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/Sender.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/Sender.java?view=diff&rev=520368&r1=520367&r2=520368
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/Sender.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/Sender.java Tue Mar 20 04:45:48 2007
@@ -229,52 +229,55 @@
 			SandeshaPolicyBean propertyBean = 
 				SandeshaUtil.getPropertyBean(storageManager.getContext().getAxisConfiguration());			
 
-			// Find terminated sequences.
-	    List rmsBeans = storageManager.getRMSBeanMgr().find(finderBean);
-	    
-	    deleteRMSBeans(rmsBeans, propertyBean);
-	    
-	    finderBean.setTerminated(false);
-	    finderBean.setTimedOut(true);
-	    
-	    // Find timed out sequences
-	    rmsBeans = storageManager.getRMSBeanMgr().find(finderBean);
-	    	    
-	    deleteRMSBeans(rmsBeans, propertyBean);
-	    
-	    // Remove any terminated RMDBeans.
-	    RMDBean finderRMDBean = new RMDBean();
-	    finderRMDBean.setTerminated(true);
-	    
-	    List rmdBeans = storageManager.getRMDBeanMgr().find(finderRMDBean);
-
-	    Iterator beans = rmdBeans.iterator();
-	    while (beans.hasNext()) {
-	    	RMDBean rmdBean = (RMDBean)beans.next();
-	    	
-	    	long timeNow = System.currentTimeMillis();
-	    	long lastActivated = rmdBean.getLastActivatedTime();
-	    	long deleteTime = propertyBean.getSequenceRemovalTimeoutInterval();
-	    	
-	    	if (deleteTime < 0)
-	    		deleteTime = 0;
+    	long deleteTime = propertyBean.getSequenceRemovalTimeoutInterval();
+    	if (deleteTime < 0)
+    		deleteTime = 0;
 
-	    	// delete sequences that have been timedout or deleted for more than 
-	    	// the SequenceRemovalTimeoutInterval
-	    	if ((lastActivated + deleteTime) < timeNow) {
-	    		if (log.isDebugEnabled())
-	    			log.debug("Deleting RMDBean " + deleteTime + " : " + rmdBean);
-	    		storageManager.getRMDBeanMgr().delete(rmdBean.getSequenceID());
-	    	}	    		    	
-	    }
+    	if (deleteTime > 0) {
+				// Find terminated sequences.
+		    List rmsBeans = storageManager.getRMSBeanMgr().find(finderBean);
+		    
+		    deleteRMSBeans(rmsBeans, propertyBean, deleteTime);
+		    
+		    finderBean.setTerminated(false);
+		    finderBean.setTimedOut(true);
+		    
+		    // Find timed out sequences
+		    rmsBeans = storageManager.getRMSBeanMgr().find(finderBean);
+		    	    
+		    deleteRMSBeans(rmsBeans, propertyBean, deleteTime);
+		    
+		    // Remove any terminated RMDBeans.
+		    RMDBean finderRMDBean = new RMDBean();
+		    finderRMDBean.setTerminated(true);
+		    
+		    List rmdBeans = storageManager.getRMDBeanMgr().find(finderRMDBean);
+	
+		    Iterator beans = rmdBeans.iterator();
+		    while (beans.hasNext()) {
+		    	RMDBean rmdBean = (RMDBean)beans.next();
+		    	
+		    	long timeNow = System.currentTimeMillis();
+		    	long lastActivated = rmdBean.getLastActivatedTime();
+	
+		    	// delete sequences that have been timedout or deleted for more than 
+		    	// the SequenceRemovalTimeoutInterval
+		    	if ((lastActivated + deleteTime) < timeNow) {
+		    		if (log.isDebugEnabled())
+		    			log.debug("Deleting RMDBean " + deleteTime + " : " + rmdBean);
+		    		storageManager.getRMDBeanMgr().delete(rmdBean.getSequenceID());
+		    	}	    		    	
+		    }
+    	}
 
 	    // Terminate RMD Sequences that have been inactive.			
 			if (propertyBean.getInactivityTimeoutInterval() > 0) {
-				finderRMDBean.setTerminated(false);
+		    RMDBean finderRMDBean = new RMDBean();
+		    finderRMDBean.setTerminated(false);
 				
-				rmdBeans = storageManager.getRMDBeanMgr().find(finderRMDBean);
+		    List rmdBeans = storageManager.getRMDBeanMgr().find(finderRMDBean);
 			
-		    beans = rmdBeans.iterator();
+		    Iterator beans = rmdBeans.iterator();
 		    while (beans.hasNext()) {
 		    	RMDBean rmdBean = (RMDBean)beans.next();
 		    	
@@ -303,7 +306,7 @@
 			log.debug("Exit: Sender::deleteTerminatedSequences");
 	}
 	
-	private void deleteRMSBeans(List rmsBeans, SandeshaPolicyBean propertyBean) 
+	private void deleteRMSBeans(List rmsBeans, SandeshaPolicyBean propertyBean, long deleteTime) 
 
 	throws SandeshaStorageException {		
 		if (log.isDebugEnabled()) 
@@ -318,9 +321,6 @@
     	long lastActivated = rmsBean.getLastActivatedTime();
     	// delete sequences that have been timedout or deleted for more than 
     	// the SequenceRemovalTimeoutInterval
-    	long deleteTime = propertyBean.getSequenceRemovalTimeoutInterval();
-    	if (deleteTime < 0)
-    		deleteTime = 0;
    	
     	if ((lastActivated + deleteTime) < timeNow) {
     		if (log.isDebugEnabled())



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