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);
