Author: kstam
Date: Tue Nov  9 15:09:16 2010
New Revision: 1033007

URL: http://svn.apache.org/viewvc?rev=1033007&view=rev
Log:
JUDDI-423 making the setting for acceptable lagtime configurable.

Modified:
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Property.java
    
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java

Modified: 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Property.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Property.java?rev=1033007&r1=1033006&r2=1033007&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Property.java 
(original)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Property.java 
Tue Nov  9 15:09:16 2010
@@ -27,8 +27,9 @@ public interface Property 
        public final static String JUDDI_TRANSFER_EXPIRATION_DAYS    
="juddi.transfer.expiration.days";
        public final static String JUDDI_AUTHENTICATE_INQUIRY        
="juddi.authenticate.Inquiry";
        public final static String 
JUDDI_SUBSCRIPTION_EXPIRATION_DAYS="juddi.subscription.expiration.days";
-       public final static String JUDDI_NOTIFICATION_START_BUFFER   
="juddi.notification.start.buffer";
-       public final static String JUDDI_NOTIFICATION_INTERVAL       
="juddi.notification.interval";
+       public final static String JUDDI_NOTIFICATION_START_BUFFER       
="juddi.notification.start.buffer";
+       public final static String JUDDI_NOTIFICATION_INTERVAL           
="juddi.notification.interval";
+       public final static String JUDDI_NOTIFICATION_ACCEPTABLE_LAGTIME 
="juddi.notification.acceptable.lagtime";
        public final static String 
JUDDI_SUBSCRIPTION_CHUNKEXPIRATION_MINUTES="juddi.subscription.chunkexpiration.minutes";
        public final static String JUDDI_JNDI_REGISTRATION           
="juddi.jndi.registration";
        public final static String JUDDI_SUBSCRIPTION_NOTIFICATION   
="juddi.subscription.notification";

Modified: 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java?rev=1033007&r1=1033006&r2=1033007&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java
 (original)
+++ 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java
 Tue Nov  9 15:09:16 2010
@@ -62,8 +62,8 @@ public class SubscriptionNotifier extend
        private Timer timer = null;
        private long startBuffer = 
AppConfig.getConfiguration().getLong(Property.JUDDI_NOTIFICATION_START_BUFFER, 
20000l); // 20s startup delay default 
        private long interval = 
AppConfig.getConfiguration().getLong(Property.JUDDI_NOTIFICATION_INTERVAL, 
300000l); //5 min default
+       private long acceptableLagTime = 
AppConfig.getConfiguration().getLong(Property.JUDDI_NOTIFICATION_ACCEPTABLE_LAGTIME,
 500l); //500 milliseconds
        private UDDISubscriptionImpl subscriptionImpl = new 
UDDISubscriptionImpl();
-       private static long ACCEPTABLE_LAG_TIME = 500l; //500 milliseconds
        private static String SUBR_V3_NAMESPACE = "urn:uddi-org:v3_service";
        private static String SUBSCRIPTION_LISTENER = 
"UDDI_SubscriptionListener_Port";
        
@@ -115,18 +115,20 @@ public class SubscriptionNotifier extend
        }
        /**
         * Checks to see that the event are fired on time. If they are late 
this may indicate that the server
-        * is under load.
+        * is under load. The acceptableLagTime is configurable using the 
"juddi.notification.acceptable.lagtime"
+        * property and is defaulted to 500ms. A negative value means that you 
do not care about the lag time
+        * and you simply always want to go do the notification work.
         * 
         * @param scheduleExecutionTime
         * @return true if the server is within the acceptable latency lag.
         */
        private boolean firedOnTime(long scheduleExecutionTime) {
                long lagTime = System.currentTimeMillis() - 
scheduleExecutionTime;
-               if (lagTime <= ACCEPTABLE_LAG_TIME) {
+               if (lagTime <= acceptableLagTime || acceptableLagTime < 0) {
                        return true;
                } else {
                        log.warn("NotificationTimer is lagging " + lagTime + " 
milli seconds behind. A lag time "
-                                       + "which exceeds an acceptable lagtime 
of " + ACCEPTABLE_LAG_TIME + "ms indicates "
+                                       + "which exceeds an acceptable lagtime 
of " + acceptableLagTime + "ms indicates "
                                        + "that the registry server is under 
stress. We are therefore skipping this notification "
                                        + "cycle.");
                        return false;



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to