Repository: nifi-minifi Updated Branches: refs/heads/master a1d2fd3fe -> 2b570ad03
MINIFI-26 Establishing specific handling of RELOAD events such that notifiers are not closed on configuration changes. This closes #14 Project: http://git-wip-us.apache.org/repos/asf/nifi-minifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi/commit/2b570ad0 Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi/tree/2b570ad0 Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi/diff/2b570ad0 Branch: refs/heads/master Commit: 2b570ad035e750e358113dfaf7daac45264d4e25 Parents: a1d2fd3 Author: Aldrin Piri <[email protected]> Authored: Wed Apr 20 17:13:35 2016 -0400 Committer: Joseph Percivall <[email protected]> Committed: Wed Apr 20 20:08:36 2016 -0400 ---------------------------------------------------------------------- .../java/org/apache/nifi/minifi/BootstrapListener.java | 13 ++++++++++--- .../src/main/java/org/apache/nifi/minifi/MiNiFi.java | 12 ++++++++---- 2 files changed, 18 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/2b570ad0/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-runtime/src/main/java/org/apache/nifi/minifi/BootstrapListener.java ---------------------------------------------------------------------- diff --git a/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-runtime/src/main/java/org/apache/nifi/minifi/BootstrapListener.java b/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-runtime/src/main/java/org/apache/nifi/minifi/BootstrapListener.java index 42e1ad4..8e5802f 100644 --- a/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-runtime/src/main/java/org/apache/nifi/minifi/BootstrapListener.java +++ b/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-runtime/src/main/java/org/apache/nifi/minifi/BootstrapListener.java @@ -83,6 +83,13 @@ public class BootstrapListener { sendCommand("PORT", new String[]{String.valueOf(localPort), secretKey}); } + public void reload() throws IOException { + if (listener != null) { + listener.stop(); + } + sendCommand("RELOAD", new String[]{}); + } + public void stop() throws IOException { if (listener != null) { listener.stop(); @@ -190,12 +197,12 @@ public class BootstrapListener { case RELOAD: logger.info("Received RELOAD request from Bootstrap"); echoReload(socket.getOutputStream()); - nifi.shutdownHook(); + nifi.shutdownHook(true); return; case SHUTDOWN: logger.info("Received SHUTDOWN request from Bootstrap"); echoShutdown(socket.getOutputStream()); - nifi.shutdownHook(); + nifi.shutdownHook(false); return; case DUMP: logger.info("Received DUMP request from Bootstrap"); @@ -379,7 +386,7 @@ public class BootstrapListener { private static class BootstrapRequest { - public static enum RequestType { + public enum RequestType { RELOAD, SHUTDOWN, DUMP, http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/2b570ad0/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-runtime/src/main/java/org/apache/nifi/minifi/MiNiFi.java ---------------------------------------------------------------------- diff --git a/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-runtime/src/main/java/org/apache/nifi/minifi/MiNiFi.java b/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-runtime/src/main/java/org/apache/nifi/minifi/MiNiFi.java index 1a1c0fe..669acdc 100644 --- a/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-runtime/src/main/java/org/apache/nifi/minifi/MiNiFi.java +++ b/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-runtime/src/main/java/org/apache/nifi/minifi/MiNiFi.java @@ -67,7 +67,7 @@ public class MiNiFi { @Override public void run() { // shutdown the jetty server - shutdownHook(); + shutdownHook(true); } })); @@ -146,7 +146,7 @@ public class MiNiFi { } } - protected void shutdownHook() { + protected void shutdownHook(boolean isReload) { try { this.shutdown = true; @@ -155,11 +155,15 @@ public class MiNiFi { nifiServer.stop(); } if (bootstrapListener != null) { - bootstrapListener.stop(); + if (isReload) { + bootstrapListener.reload(); + } else { + bootstrapListener.stop(); + } } logger.info("Jetty web server shutdown completed (nicely or otherwise)."); } catch (final Throwable t) { - logger.warn("Problem occured ensuring Jetty web server was properly terminated due to " + t); + logger.warn("Problem occurred ensuring Jetty web server was properly terminated due to " + t); } }
