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
      *

Reply via email to