You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by fl...@apache.org on 2016/03/28 11:46:58 UTC

karaf git commit: [KARAF-4423] Jaas AutoEncryption support can correctly shutdown and is only started when needed.

Repository: karaf
Updated Branches:
  refs/heads/master 0f51fa8ad -> cda33b543


[KARAF-4423] Jaas AutoEncryption support can correctly shutdown and is only started when needed.

This closes #164


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/cda33b54
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/cda33b54
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/cda33b54

Branch: refs/heads/master
Commit: cda33b543f1b47bf4be02708ff64bfde92ec17d1
Parents: 0f51fa8
Author: Fabian Lange <la...@gmail.com>
Authored: Wed Mar 16 10:21:56 2016 +0100
Committer: Fabian Lange <la...@gmail.com>
Committed: Mon Mar 28 11:27:53 2016 +0200

----------------------------------------------------------------------
 .../apache/karaf/jaas/modules/impl/Activator.java   | 16 +++++++++++-----
 .../modules/properties/AutoEncryptionSupport.java   |  6 +++---
 2 files changed, 14 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/cda33b54/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/impl/Activator.java
----------------------------------------------------------------------
diff --git a/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/impl/Activator.java b/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/impl/Activator.java
index 1299b18..ae53396 100644
--- a/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/impl/Activator.java
+++ b/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/impl/Activator.java
@@ -71,13 +71,16 @@ public class Activator extends BaseActivator implements ManagedService {
 
         karafRealm = new KarafRealm(bundleContext, config);
         register(JaasRealm.class, karafRealm);
-
-        autoEncryptionSupport = new AutoEncryptionSupport(config);
+        if (Boolean.parseBoolean((String) config.get(ENCRYPTION_ENABLED))) {
+          autoEncryptionSupport = new AutoEncryptionSupport(config);
+        }
     }
 
     @Override
     protected void doStop() {
-        StreamUtils.close(autoEncryptionSupport);
+        if (autoEncryptionSupport != null) {
+          autoEncryptionSupport.close();
+        }
         super.doStop();
         LDAPCache.clear();
     }
@@ -89,9 +92,12 @@ public class Activator extends BaseActivator implements ManagedService {
             karafRealm.updated(config);
         }
         if (autoEncryptionSupport != null) {
-            StreamUtils.close(autoEncryptionSupport);
+            autoEncryptionSupport.close();
+            autoEncryptionSupport = null;
+        }
+        if (Boolean.parseBoolean((String) config.get(ENCRYPTION_ENABLED))) {
+          autoEncryptionSupport = new AutoEncryptionSupport(config);
         }
-        autoEncryptionSupport = new AutoEncryptionSupport(config);
     }
 
     private Map<String, Object> getConfig() {

http://git-wip-us.apache.org/repos/asf/karaf/blob/cda33b54/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/properties/AutoEncryptionSupport.java
----------------------------------------------------------------------
diff --git a/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/properties/AutoEncryptionSupport.java b/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/properties/AutoEncryptionSupport.java
index 9fc1a53..975497e 100644
--- a/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/properties/AutoEncryptionSupport.java
+++ b/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/properties/AutoEncryptionSupport.java
@@ -41,13 +41,13 @@ import org.slf4j.LoggerFactory;
 public class AutoEncryptionSupport implements Runnable, Closeable {
 
     private final Logger LOGGER = LoggerFactory.getLogger(AutoEncryptionSupport.class);
-    boolean running;
-    private volatile EncryptionSupport encryptionSupport;
+    private volatile boolean running;
+    private EncryptionSupport encryptionSupport;
     private ExecutorService executor;
 
     public AutoEncryptionSupport(Map<String, Object> properties) {
         running = true;
-        this.encryptionSupport = new EncryptionSupport(properties);
+        encryptionSupport = new EncryptionSupport(properties);
         executor = Executors.newSingleThreadExecutor();
         executor.execute(this);
     }