Repository: incubator-nifi Updated Branches: refs/heads/NIFI164 [created] 55d4b1c09
NIFI-164: Add shutdown() method to ContentRepository and implement in FileSystemRepository and VolatileContentRepository to cleanup executors; call shutdown() from FlowController shutdown method Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/55d4b1c0 Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/55d4b1c0 Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/55d4b1c0 Branch: refs/heads/NIFI164 Commit: 55d4b1c09990a9cff8a235fe65a0056879e6355a Parents: 2bcd1e6 Author: Mark Payne <[email protected]> Authored: Fri Dec 12 10:00:40 2014 -0500 Committer: Mark Payne <[email protected]> Committed: Fri Dec 12 10:00:40 2014 -0500 ---------------------------------------------------------------------- .../main/java/org/apache/nifi/controller/FlowController.java | 4 ++++ .../nifi/controller/repository/FileSystemRepository.java | 6 ++++++ .../nifi/controller/repository/VolatileContentRepository.java | 5 +++++ .../apache/nifi/controller/repository/ContentRepository.java | 6 ++++++ 4 files changed, 21 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/55d4b1c0/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/FlowController.java ---------------------------------------------------------------------- diff --git a/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/FlowController.java b/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/FlowController.java index 20c50b5..e1abe4e 100644 --- a/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/FlowController.java +++ b/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/FlowController.java @@ -1050,6 +1050,10 @@ public class FlowController implements EventAccess, ControllerServiceProvider, H processScheduler.shutdown(); } + if ( contentRepository != null ) { + contentRepository.shutdown(); + } + if ( provenanceEventRepository != null ) { try { provenanceEventRepository.close(); http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/55d4b1c0/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/repository/FileSystemRepository.java ---------------------------------------------------------------------- diff --git a/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/repository/FileSystemRepository.java b/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/repository/FileSystemRepository.java index ba74295..5fbbfd5 100644 --- a/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/repository/FileSystemRepository.java +++ b/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/repository/FileSystemRepository.java @@ -223,6 +223,12 @@ public class FileSystemRepository implements ContentRepository { this.contentClaimManager = claimManager; } + @Override + public void shutdown() { + executor.shutdown(); + containerCleanupExecutor.shutdown(); + } + private static double getRatio(final String value) { final String trimmed = value.trim(); final String percentage = trimmed.substring(0, trimmed.length() - 1); http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/55d4b1c0/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/repository/VolatileContentRepository.java ---------------------------------------------------------------------- diff --git a/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/repository/VolatileContentRepository.java b/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/repository/VolatileContentRepository.java index e14ec5d..99e3655 100644 --- a/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/repository/VolatileContentRepository.java +++ b/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/controller/repository/VolatileContentRepository.java @@ -137,6 +137,11 @@ public class VolatileContentRepository implements ContentRepository { public void initialize(final ContentClaimManager claimManager) { this.claimManager = claimManager; } + + @Override + public void shutdown() { + executor.shutdown(); + } /** * Specifies a Backup Repository where data should be written if this http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/55d4b1c0/nifi-api/src/main/java/org/apache/nifi/controller/repository/ContentRepository.java ---------------------------------------------------------------------- diff --git a/nifi-api/src/main/java/org/apache/nifi/controller/repository/ContentRepository.java b/nifi-api/src/main/java/org/apache/nifi/controller/repository/ContentRepository.java index 7012cb3..d66b8a6 100644 --- a/nifi-api/src/main/java/org/apache/nifi/controller/repository/ContentRepository.java +++ b/nifi-api/src/main/java/org/apache/nifi/controller/repository/ContentRepository.java @@ -46,6 +46,12 @@ public interface ContentRepository { void initialize(ContentClaimManager claimManager) throws IOException; /** + * Shuts down the Content Repository, freeing any resources that may be held. + * This is called when an administrator shuts down NiFi. + */ + void shutdown(); + + /** * Returns the names of all Containers that exist for this Content * Repository *
