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);