From c1a5f82ba1e4cd4c55a91e2c07d31b51e54d4552 Mon Sep 17 00:00:00 2001 From: muzuro Date: Wed, 28 Sep 2016 12:06:01 +0300 Subject: [PATCH] fix memory leak --- .../graphhopper/jsprit/core/algorithm/box/Jsprit.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/box/Jsprit.java b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/box/Jsprit.java index 818767f2..0ada8a96 100644 --- a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/box/Jsprit.java +++ b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/box/Jsprit.java @@ -629,13 +629,21 @@ public class Jsprit { }); } if (es != null) { - Runtime.getRuntime().addShutdownHook(new Thread() { + final Thread hook = new Thread() { public void run() { if (!es.isShutdown()) { System.err.println("shutdowHook shuts down executorService"); es.shutdown(); } } + }; + Runtime.getRuntime().addShutdownHook(hook); + vra.addListener(new AlgorithmEndsListener() { + @Override + public void informAlgorithmEnds(VehicleRoutingProblem aProblem, + Collection aSolutions) { + Runtime.getRuntime().removeShutdownHook(hook); + } }); } }