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:17:00 UTC
karaf git commit: [KARAF-3513]JMXConnectorServer should be able to
pick up the new KeystoreInstance available in container
Repository: karaf
Updated Branches:
refs/heads/karaf-2.x f7aeed880 -> 330b7ca1d
[KARAF-3513]JMXConnectorServer should be able to pick up the new KeystoreInstance available in container
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/330b7ca1
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/330b7ca1
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/330b7ca1
Branch: refs/heads/karaf-2.x
Commit: 330b7ca1d708aa0fce7f8ea67676930ae5357526
Parents: f7aeed8
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:16:30 2015 +0800
----------------------------------------------------------------------
.../management/ConnectorServerFactory.java | 32 +++++++++++++++++++-
.../OSGI-INF/blueprint/karaf-management.xml | 6 ++++
2 files changed, 37 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/330b7ca1/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 f3a0203..1a82afc 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 };
@@ -214,7 +219,12 @@ public class ConnectorServerFactory {
}
if (this.secured) {
- this.setupSsl();
+ try {
+ this.setupSsl();
+ } catch (Exception e) {
+ LOGGER.error("Can't init JMXConnectorServer with SSL enabled: " + e.getMessage());
+ return;
+ }
}
if (!AuthenticatorType.PASSWORD.equals(this.authenticatorType)) {
@@ -334,5 +344,25 @@ 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/330b7ca1/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 85f0bb1..e6039a8 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
@@ -130,5 +130,11 @@
</map>
</property>
</bean>
+
+ <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>