diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-05-14 22:55:48 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-05-14 22:55:48 +0200 |
commit | d2504e056be316208b2b6dca94756ee91b0e86f2 (patch) | |
tree | b9462205eae0f5addf48151dd4777ffbb3f1bee4 /jdisc_core/src/main/java/com | |
parent | 1ecd6173345932b2ad0bc79d7d1959ac61c69276 (diff) |
Catch everything and also guard stop and destroy with a watchdog.
Diffstat (limited to 'jdisc_core/src/main/java/com')
-rw-r--r-- | jdisc_core/src/main/java/com/yahoo/jdisc/core/BootstrapDaemon.java | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/BootstrapDaemon.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/BootstrapDaemon.java index 2a478fb7add..33d03d29f7d 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/BootstrapDaemon.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/BootstrapDaemon.java @@ -76,6 +76,14 @@ public class BootstrapDaemon implements Daemon { thread.start(); try { task.run(); + } catch (Exception e) { + log.log(Level.WARNING, "Exception caught during BootstrapDaemon." + name, e); + throw e; + } catch (Error e) { + log.log(Level.WARNING, "Error caught during BootstrapDaemon." + name, e); + throw e; + } catch (Throwable thrown) { + log.log(Level.WARNING, "Throwable caught during BootstrapDaemon." + name, thrown); } finally { complete.countDown(); thread.join(); @@ -115,12 +123,15 @@ public class BootstrapDaemon implements Daemon { @Override public void stop() throws Exception { - loader.stop(); + startWithWatchDog("stop", 60, TimeUnit.SECONDS, () -> loader.stop()); } @Override public void destroy() { - loader.destroy(); + try { + startWithWatchDog("destroy", 60, TimeUnit.SECONDS, () -> loader.destroy()); + } catch (Exception e) { + } } } |