refinement: Add timer to ATS Server to reload caches
Change-Id: Ia73c891b48e12cae1c26df39aafe141c57a83dfb
diff --git a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/config/AtsConfigEndpointImpl.java b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/config/AtsConfigEndpointImpl.java
index 6a7b688..d7ecb28 100644
--- a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/config/AtsConfigEndpointImpl.java
+++ b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/config/AtsConfigEndpointImpl.java
@@ -62,6 +62,7 @@
import org.eclipse.osee.framework.jdk.core.type.ViewModel;
import org.eclipse.osee.framework.jdk.core.util.Conditions;
import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.jdk.core.util.Strings;
import org.eclipse.osee.jaxrs.OseeWebApplicationException;
import org.eclipse.osee.logger.Log;
import org.eclipse.osee.orcs.OrcsApi;
@@ -80,6 +81,7 @@
private AtsConfigurations atsConfigurations;
private final Collection<Long> teamDefIds = new LinkedList<>();
private final Collection<Long> aiIds = new LinkedList<>();
+ private final long DEFAULT_CONFIG_LOADING_TIME = 1200000; // 20 minutes
public AtsConfigEndpointImpl(IAtsServices services, OrcsApi orcsApi, Log logger) {
this.services = services;
@@ -92,8 +94,20 @@
Thread thread = new Thread("ATS Configuration Re-Loader") {
@Override
public void run() {
- AtsConfigurations configs = getAtsConfigurationsFromDb();
- atsConfigurations = configs;
+ while (true) {
+ AtsConfigurations configs = getAtsConfigurationsFromDb();
+ atsConfigurations = configs;
+ try {
+ long reloadTime = DEFAULT_CONFIG_LOADING_TIME;
+ String reloadTimeStr = services.getConfigValue("server_config_reload_ms");
+ if (Strings.isNumeric(reloadTimeStr)) {
+ reloadTime = Long.valueOf(reloadTimeStr);
+ }
+ Thread.sleep(reloadTime);
+ } catch (InterruptedException ex) {
+ // do nothing
+ }
+ }
}
};
thread.start();