You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by jp...@apache.org on 2016/04/19 21:46:33 UTC

nifi-minifi git commit: MINIFI-19 Adding a shutdown command for the MiNiFi instance to communicate with the bootstrap process to provide an opportunity for shutdown of components.

Repository: nifi-minifi
Updated Branches:
  refs/heads/master 1f48fccdd -> 11f220d8d


MINIFI-19 Adding a shutdown command for the MiNiFi instance to communicate with the bootstrap process to provide an opportunity for shutdown of components.

This closes #12


Project: http://git-wip-us.apache.org/repos/asf/nifi-minifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi/commit/11f220d8
Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi/tree/11f220d8
Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi/diff/11f220d8

Branch: refs/heads/master
Commit: 11f220d8d0b56474dee0e2464c4841306fb5dfec
Parents: 1f48fcc
Author: Aldrin Piri <al...@apache.org>
Authored: Tue Apr 19 13:22:52 2016 -0400
Committer: Joseph Percivall <jo...@yahoo.com>
Committed: Tue Apr 19 15:44:56 2016 -0400

----------------------------------------------------------------------
 .../org/apache/nifi/minifi/bootstrap/BootstrapCodec.java  |  7 +++++++
 .../java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java  | 10 ++++++++++
 .../java/org/apache/nifi/minifi/BootstrapListener.java    |  3 ++-
 3 files changed, 19 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/11f220d8/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/BootstrapCodec.java
----------------------------------------------------------------------
diff --git a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/BootstrapCodec.java b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/BootstrapCodec.java
index 4138247..bab2f9e 100644
--- a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/BootstrapCodec.java
+++ b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/BootstrapCodec.java
@@ -103,6 +103,13 @@ public class BootstrapCodec {
                 writer.flush();
             }
             break;
+            case "SHUTDOWN": {
+                runner.shutdownChangeNotifiers();
+                writer.write("OK");
+                writer.newLine();
+                writer.flush();
+            }
+            break;
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/11f220d8/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java
----------------------------------------------------------------------
diff --git a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java
index 278f684..98d06f3 100644
--- a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java
+++ b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java
@@ -1280,6 +1280,16 @@ public class RunMiNiFi {
         }
     }
 
+    public void shutdownChangeNotifiers() {
+        for (ConfigurationChangeNotifier notifier : getChangeNotifiers()) {
+            try {
+                notifier.close();
+            } catch (IOException e) {
+                defaultLogger.warn("Could not successfully stop notifier {}", notifier.getClass(), e);
+            }
+        }
+    }
+
     public Set<ConfigurationChangeNotifier> getChangeNotifiers() {
         return Collections.unmodifiableSet(changeNotifiers);
     }

http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/11f220d8/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 bbd0517..42e1ad4 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,10 +83,11 @@ public class BootstrapListener {
         sendCommand("PORT", new String[]{String.valueOf(localPort), secretKey});
     }
 
-    public void stop() {
+    public void stop() throws IOException {
         if (listener != null) {
             listener.stop();
         }
+        sendCommand("SHUTDOWN", new String[]{});
     }
 
     public void sendStartedStatus(boolean status) throws IOException {