You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by ch...@apache.org on 2014/04/09 21:55:13 UTC

svn commit: r1586111 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm: ServiceHandler.java ServiceSet.java

Author: challngr
Date: Wed Apr  9 19:55:13 2014
New Revision: 1586111

URL: http://svn.apache.org/r1586111
Log:
UIMA-3726 Dynamic modification of registration parameters. Fix glitches in start/stop logic.

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceSet.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java?rev=1586111&r1=1586110&r2=1586111&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java Wed Apr  9 19:55:13 2014
@@ -659,7 +659,7 @@ public class ServiceHandler
 
         int running    = sset.countImplementors();
         int instances  = ev.getInstances();
-        int registered = sset.getNInstances();
+        int registered = sset.getNInstancesRegistered();
         int wanted     = 0;
         
         if ( instances == -1 ) {
@@ -695,7 +695,7 @@ public class ServiceHandler
         ServiceSet sset = serviceStateHandler.getServiceForApi(friendly, epname);
 
         int running    = sset.countImplementors();
-        int registered = sset.getNInstances();
+        int registered = sset.getNInstancesRegistered();
         int wanted     = 0;
 
         if ( instances == -1 ) {
@@ -704,10 +704,6 @@ public class ServiceHandler
             wanted = instances;
         }
 
-        if ( update ) {
-            sset.saveMetaProperties();
-        }
-
         sset.resetRuntimeErrors();
         sset.setStarted();                              // manual start overrides, if there's still a problem
         sset.updateInstances(running + wanted, update); // pass in target instances

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceSet.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceSet.java?rev=1586111&r1=1586110&r2=1586111&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceSet.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceSet.java Wed Apr  9 19:55:13 2014
@@ -117,6 +117,7 @@ public class ServiceSet
 
     // The number of instances to maintain live.
     int instances = 1;
+    int registered_instances;
 
     // Service monitor / pinger 
     IServiceMeta serviceMeta = null;
@@ -168,6 +169,7 @@ public class ServiceSet
 
         this.user = meta.getProperty("user");
         this.instances = meta.getIntProperty("instances", 1);
+        this.registered_instances = this.instances;
         this.autostart = meta.getBooleanProperty("autostart", false);
         this.ping_only = meta.getBooleanProperty("ping-only", false);
         this.stopped   = meta.getBooleanProperty("stopped", stopped);
@@ -618,9 +620,20 @@ public class ServiceSet
         return props_filename;
     }
 
-    synchronized int getNInstances()
+    // /**
+    //  * Returns the number of currently running instances
+    //  */
+    // synchronized int getNInstances()
+    // {
+    //     return instances;
+    // }
+
+    /**
+     * Returns the number of registered instances.
+     */
+    synchronized int getNInstancesRegistered()
     {
-        return instances;
+        return registered_instances;
     }
 
     synchronized void saveMetaProperties()
@@ -706,6 +719,7 @@ public class ServiceSet
     synchronized void updateRegisteredInstances(int n)
     {
         meta_props.setProperty("instances", Integer.toString(n));
+        registered_instances = n;
         saveMetaProperties();
     }
 
@@ -1694,7 +1708,7 @@ public class ServiceSet
         }
         sd.setReferences(ref);
 
-        sd.setInstances(getNInstances());
+        sd.setInstances(getNInstancesRegistered());
 
         sd.setType(service_type);
         sd.setSubclass(service_class);