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