Author: davidillsley
Date: Thu Feb  7 09:36:49 2008
New Revision: 619524

URL: http://svn.apache.org/viewvc?rev=619524&view=rev
Log:
Minor performance improvement.

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

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/Sender.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/Sender.java?rev=619524&r1=619523&r2=619524&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/Sender.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/Sender.java
 Thu Feb  7 09:36:49 2008
@@ -64,6 +64,9 @@
        // try and give them all a chance to invoke messages.
        int nextIndex = 0;
        boolean processedMessage = false;
+       long lastHousekeeping = 0;
+       
+       private static int HOUSEKEEPING_INTERVAL = 20000;
        
        public Sender () {
                super(Sandesha2Constants.SENDER_SLEEP_TIME);
@@ -92,17 +95,19 @@
                                }
                                processedMessage = false;
                                
-                               // At this point - delete any sequences that 
have timed out, or been terminated.
-                               deleteTerminatedSequences(storageManager);
-
-                               // Also clean up and sender beans that are not 
yet eligible for sending, but
-                               // are blocking the transport threads.
-                               unblockTransportThreads(storageManager);
-                               
-                               // Finally, check for messages that can only be 
serviced by polling, and warn
-                               // the user if they are too old
-                               checkForOrphanMessages(storageManager);
-
+                               if(System.currentTimeMillis()-lastHousekeeping 
> HOUSEKEEPING_INTERVAL){
+                                       // At this point - delete any sequences 
that have timed out, or been terminated.
+                                       
deleteTerminatedSequences(storageManager);
+
+                                       // Also clean up and sender beans that 
are not yet eligible for sending, but
+                                       // are blocking the transport threads.
+                                       unblockTransportThreads(storageManager);
+
+                                       // Finally, check for messages that can 
only be serviced by polling, and warn
+                                       // the user if they are too old
+                                       checkForOrphanMessages(storageManager);
+                                       lastHousekeeping = 
System.currentTimeMillis();
+                               }
                                if (log.isDebugEnabled()) log.debug("Exit: 
Sender::internalRun, looped over all sequences, sleep " + sleep);
                                return sleep;
                        }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to