Repository: nifi-minifi
Updated Branches:
  refs/heads/master 3a967be7a -> 1f48fccdd


MINIFI-18 Moving initialization of configuration notifier/listener from
constructor such that it is only performed when starting  an instance.

This closes #11


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

Branch: refs/heads/master
Commit: 1f48fccdd1576500725f13e85422388943d998b8
Parents: 3a967be
Author: Aldrin Piri <[email protected]>
Authored: Mon Apr 18 16:57:37 2016 -0400
Committer: Joseph Percivall <[email protected]>
Committed: Mon Apr 18 17:14:14 2016 -0400

----------------------------------------------------------------------
 .../org/apache/nifi/minifi/bootstrap/RunMiNiFi.java | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/1f48fccd/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 6c45667..278f684 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
@@ -129,8 +129,8 @@ public class RunMiNiFi {
     private volatile Set<Future<?>> loggingFutures = new HashSet<>(2);
     private volatile int gracefulShutdownSeconds;
 
-    private final Set<ConfigurationChangeNotifier> changeNotifiers;
-    private final ConfigurationChangeListener changeListener;
+    private Set<ConfigurationChangeNotifier> changeNotifiers;
+    private ConfigurationChangeListener changeListener;
 
     private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd 
HH:mm:ss.SSS");
 
@@ -146,9 +146,6 @@ public class RunMiNiFi {
                 return t;
             }
         });
-
-        this.changeListener = new MiNiFiConfigurationChangeListener(this, 
defaultLogger);
-        this.changeNotifiers = initializeNotifiers();
     }
 
     private static void printUsage() {
@@ -1043,6 +1040,11 @@ public class RunMiNiFi {
             cmdLogger.info("Start method returned null, ending start 
command.");
             return;
         }
+
+        // Instantiate configuration listener and configured notifiers
+        this.changeListener = new MiNiFiConfigurationChangeListener(this, 
defaultLogger);
+        this.changeNotifiers = initializeNotifiers(this.changeListener);
+
         ProcessBuilder builder = tuple.getKey();
         Process process = tuple.getValue();
 
@@ -1282,7 +1284,7 @@ public class RunMiNiFi {
         return Collections.unmodifiableSet(changeNotifiers);
     }
 
-    private Set<ConfigurationChangeNotifier> initializeNotifiers() throws 
IOException {
+    private Set<ConfigurationChangeNotifier> 
initializeNotifiers(ConfigurationChangeListener configChangeListener) throws 
IOException {
         final Set<ConfigurationChangeNotifier> changeNotifiers = new 
HashSet<>();
 
         final Properties bootstrapProperties = getBootstrapProperties();
@@ -1295,7 +1297,7 @@ public class RunMiNiFi {
                     ConfigurationChangeNotifier notifier = 
(ConfigurationChangeNotifier) notifierClass.newInstance();
                     notifier.initialize(bootstrapProperties);
                     changeNotifiers.add(notifier);
-                    notifier.registerListener(changeListener);
+                    notifier.registerListener(configChangeListener);
                     notifier.start();
                 } catch (InstantiationException | IllegalAccessException | 
ClassNotFoundException e) {
                     throw new RuntimeException("Issue instantiating notifier " 
+ notifierClassname, e);

Reply via email to