diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/PrimingResource.java b/src/main/java/gov/usgs/earthquake/nshmp/www/PrimingResource.java index b8285bee59064a154b825a1bc6a977a9bb045bbb..8a8ce70427745504ccdddaef9012a82a62d56b1a 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/PrimingResource.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/PrimingResource.java @@ -32,7 +32,10 @@ public class PrimingResource implements OrderedResource { } @Override - public void afterRestore(Context<? extends Resource> context) throws Exception {} + public void afterRestore(Context<? extends Resource> context) throws Exception { + System.out.println("Reset exexutors"); + ServletUtil.resetExecutors(); + } private void updateParameter() throws SsmException { var parameterName = System.getenv("IMT_PARAMETER_NAME"); diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java b/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java index e9df8d3dce5eba83f5ac89e82a26dbc710b4e40b..e007dea5f89e5b94ac4bd747b5162a07a5f77d30 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java @@ -89,7 +89,14 @@ public class ServletUtil { .serializeNulls() .setPrettyPrinting() .create(); + } + + static void resetExecutors() { + CALC_EXECUTOR.shutdown(); + TASK_EXECUTOR.shutdown(); + CALC_EXECUTOR = MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(THREAD_COUNT)); + TASK_EXECUTOR = Executors.newSingleThreadExecutor(); } static void model(HazardModel model) {