You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by ff...@apache.org on 2015/02/10 08:37:30 UTC

karaf git commit: [KARAF-3513]JMXConnectorServer should be able to pick up the new KeystoreInstance available in container (cherry picked from commit 330b7ca1d708aa0fce7f8ea67676930ae5357526)

Repository: karaf
Updated Branches:
  refs/heads/karaf-3.0.x b5e89b078 -> 23d6d1d6c


[KARAF-3513]JMXConnectorServer should be able to pick up the new KeystoreInstance available in container
(cherry picked from commit 330b7ca1d708aa0fce7f8ea67676930ae5357526)

Conflicts:
	management/server/src/main/java/org/apache/karaf/management/ConnectorServerFactory.java
	management/server/src/main/resources/OSGI-INF/blueprint/karaf-management.xml


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

Branch: refs/heads/karaf-3.0.x
Commit: 23d6d1d6ca0a9df582039d1e7df2c4743f469e0a
Parents: b5e89b0
Author: Freeman Fang <fr...@gmail.com>
Authored: Tue Feb 10 15:16:30 2015 +0800
Committer: Freeman Fang <fr...@gmail.com>
Committed: Tue Feb 10 15:31:17 2015 +0800

----------------------------------------------------------------------
 .../management/ConnectorServerFactory.java      | 34 ++++++++++++++++++--
 .../OSGI-INF/blueprint/karaf-management.xml     |  6 ++++
 2 files changed, 38 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/23d6d1d6/management/server/src/main/java/org/apache/karaf/management/ConnectorServerFactory.java
----------------------------------------------------------------------
diff --git a/management/server/src/main/java/org/apache/karaf/management/ConnectorServerFactory.java b/management/server/src/main/java/org/apache/karaf/management/ConnectorServerFactory.java
index f962427..919d1d2 100644
--- a/management/server/src/main/java/org/apache/karaf/management/ConnectorServerFactory.java
+++ b/management/server/src/main/java/org/apache/karaf/management/ConnectorServerFactory.java
@@ -16,7 +16,10 @@
  */
 package org.apache.karaf.management;
 
+import org.apache.karaf.jaas.config.KeystoreInstance;
 import org.apache.karaf.jaas.config.KeystoreManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
 import java.net.BindException;
@@ -41,6 +44,8 @@ import javax.net.ssl.SSLServerSocketFactory;
 import javax.rmi.ssl.SslRMIClientSocketFactory;
 
 public class ConnectorServerFactory {
+    
+    private static final Logger LOGGER = LoggerFactory.getLogger(ConnectorServerFactory.class);
 
     private enum AuthenticatorType {NONE, PASSWORD, CERTIFICATE};
 
@@ -223,8 +228,13 @@ public class ConnectorServerFactory {
             this.secured = true;
         }
 
-        if ( this.secured ) {
-            this.setupSsl();
+        if (this.secured) {
+            try {
+                this.setupSsl();
+            } catch (Exception e) {
+                LOGGER.error("Can't init JMXConnectorServer with SSL enabled: " + e.getMessage());
+                return;
+            }
         }
 
         if ( ! AuthenticatorType.PASSWORD.equals( this.authenticatorType ) ) {
@@ -335,6 +345,26 @@ public class ConnectorServerFactory {
             return serverSocket;
         }
     }
+    
+    public void register(KeystoreInstance keystore, Map<String,?> properties) {
+        if (this.secured) {
+            try {
+                this.init();
+            } catch (Exception e) {
+                LOGGER.error("Can't re-init JMXConnectorServer with SSL enabled when register a keystore:" + e.getMessage());
+            }
+        }
+    }
+
+    public void unregister(KeystoreInstance keystore, Map<String,?> properties) {
+        if (this.secured) {
+            try {
+                this.init();
+            } catch (Exception e) {
+                LOGGER.error("Can't re-init JMXConnectorServer with SSL enabled when unregister a keystore: " + e.getMessage());
+            }
+        }
+    }
 
 
 }

http://git-wip-us.apache.org/repos/asf/karaf/blob/23d6d1d6/management/server/src/main/resources/OSGI-INF/blueprint/karaf-management.xml
----------------------------------------------------------------------
diff --git a/management/server/src/main/resources/OSGI-INF/blueprint/karaf-management.xml b/management/server/src/main/resources/OSGI-INF/blueprint/karaf-management.xml
index 5795018..7e3d5e2 100644
--- a/management/server/src/main/resources/OSGI-INF/blueprint/karaf-management.xml
+++ b/management/server/src/main/resources/OSGI-INF/blueprint/karaf-management.xml
@@ -121,5 +121,11 @@
         </service-properties>
     </service>
 
+
+    <reference-list id="keystores"
+                    interface="org.apache.karaf.jaas.config.KeystoreInstance"
+                    availability="optional">
+        <reference-listener ref="connectorFactory" bind-method="register" unbind-method="unregister" />
+    </reference-list>
 </blueprint>