Repository: karaf
Updated Branches:
  refs/heads/karaf-3.0.x fd848f677 -> c1cdd70a6


[KARAF-3147] Remove the KarafMBeanServerBuilder and refactore the guard 
interception


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

Branch: refs/heads/karaf-3.0.x
Commit: c1cdd70a6e8c36ee79056e956e022b6e22af12bc
Parents: fd848f6
Author: Jean-Baptiste Onofré <[email protected]>
Authored: Thu May 7 17:32:29 2015 +0200
Committer: Jean-Baptiste Onofré <[email protected]>
Committed: Thu May 7 17:32:29 2015 +0200

----------------------------------------------------------------------
 assemblies/features/framework/pom.xml           |   6 -
 .../filtered-resources/resources/bin/instance   |   2 +-
 .../resources/bin/instance.bat                  |   2 +-
 .../resources/etc/config.properties             |   3 +-
 .../src/main/resources/resources/bin/karaf      |   2 +-
 .../src/main/resources/resources/bin/karaf.bat  |   2 +-
 .../apache/karaf/itests/JMXSecurityTest.java    |   1 -
 .../apache/karaf/itests/KarafTestSupport.java   |   4 +-
 management/boot/NOTICE                          |  71 --------
 management/boot/pom.xml                         |  64 -------
 .../boot/KarafMBeanServerBuilder.java           |  86 ---------
 .../src/main/resources/OSGI-INF/bundle.info     |  17 --
 .../boot/KarafMBeanServerBuilderTest.java       | 179 -------------------
 management/pom.xml                              |   1 -
 .../management/ConnectorServerFactory.java      |  16 +-
 .../karaf/management/KarafMBeanServerGuard.java |   4 -
 .../internal/JMXSecurityMBeanImpl.java          |  12 +-
 .../internal/MBeanInvocationHandler.java        |  68 +++++++
 .../OSGI-INF/blueprint/karaf-management.xml     |   4 +-
 .../internal/JMXSecurityMBeanImplTestCase.java  |   6 +
 manual/src/main/webapp/users-guide/wrapper.conf |  16 +-
 .../wrapper/internal/unix/karaf-wrapper.conf    |  16 +-
 22 files changed, 122 insertions(+), 460 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/assemblies/features/framework/pom.xml
----------------------------------------------------------------------
diff --git a/assemblies/features/framework/pom.xml 
b/assemblies/features/framework/pom.xml
index 84abac1..cacbc14 100644
--- a/assemblies/features/framework/pom.xml
+++ b/assemblies/features/framework/pom.xml
@@ -300,12 +300,6 @@
                                     
<destFileName>karaf-jaas-boot.jar</destFileName>
                                 </artifactItem>
                                 <artifactItem>
-                                    
<groupId>org.apache.karaf.management</groupId>
-                                    
<artifactId>org.apache.karaf.management.boot</artifactId>
-                                    
<outputDirectory>target/classes/resources/lib</outputDirectory>
-                                    
<destFileName>karaf-jmx-boot.jar</destFileName>
-                                </artifactItem>
-                                <artifactItem>
                                     <groupId>org.apache.karaf</groupId>
                                     
<artifactId>org.apache.karaf.exception</artifactId>
                                     
<outputDirectory>target/classes/resources/lib/endorsed</outputDirectory>

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/assemblies/features/framework/src/main/filtered-resources/resources/bin/instance
----------------------------------------------------------------------
diff --git 
a/assemblies/features/framework/src/main/filtered-resources/resources/bin/instance
 
b/assemblies/features/framework/src/main/filtered-resources/resources/bin/instance
index 4eccf6f..7e3bb58 100755
--- 
a/assemblies/features/framework/src/main/filtered-resources/resources/bin/instance
+++ 
b/assemblies/features/framework/src/main/filtered-resources/resources/bin/instance
@@ -346,7 +346,7 @@ run() {
         CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
     fi
 
-    exec "$JAVA" $JAVA_OPTS -Dkaraf.instances="${KARAF_HOME}/instances" 
-Dkaraf.home="$KARAF_HOME" -Dkaraf.base="$KARAF_BASE" -Dkaraf.etc="$KARAF_ETC" 
-Djava.io.tmpdir="$KARAF_DATA/tmp" 
-Djava.util.logging.config.file="$KARAF_BASE/etc/java.util.logging.properties" 
-Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder
 $KARAF_OPTS $OPTS -classpath "$CLASSPATH" 
org.apache.karaf.instance.main.Execute "$@"
+    exec "$JAVA" $JAVA_OPTS -Dkaraf.instances="${KARAF_HOME}/instances" 
-Dkaraf.home="$KARAF_HOME" -Dkaraf.base="$KARAF_BASE" -Dkaraf.etc="$KARAF_ETC" 
-Djava.io.tmpdir="$KARAF_DATA/tmp" 
-Djava.util.logging.config.file="$KARAF_BASE/etc/java.util.logging.properties" 
$KARAF_OPTS $OPTS -classpath "$CLASSPATH" 
org.apache.karaf.instance.main.Execute "$@"
 }
 
 main() {

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/assemblies/features/framework/src/main/filtered-resources/resources/bin/instance.bat
----------------------------------------------------------------------
diff --git 
a/assemblies/features/framework/src/main/filtered-resources/resources/bin/instance.bat
 
b/assemblies/features/framework/src/main/filtered-resources/resources/bin/instance.bat
index 7f39365..4c2a18a 100644
--- 
a/assemblies/features/framework/src/main/filtered-resources/resources/bin/instance.bat
+++ 
b/assemblies/features/framework/src/main/filtered-resources/resources/bin/instance.bat
@@ -145,7 +145,7 @@ set 
CLASSPATH=%KARAF_HOME%\system\org\apache\karaf\instance\org.apache.karaf.ins
     if "%SHIFT%" == "true" SET ARGS=%2 %3 %4 %5 %6 %7 %8
     if not "%SHIFT%" == "true" SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8    
     rem Execute the Java Virtual Machine
-    "%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" 
-Dkaraf.instances="%KARAF_HOME%\instances" -Dkaraf.home="%KARAF_HOME%" 
-Dkaraf.base="%KARAF_BASE%" -Dkaraf.etc="%KARAF_ETC%" 
-Djava.io.tmpdir="%KARAF_DATA%\tmp" 
-Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" 
-Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder
 %KARAF_OPTS% org.apache.karaf.instance.main.Execute %ARGS%
+    "%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" 
-Dkaraf.instances="%KARAF_HOME%\instances" -Dkaraf.home="%KARAF_HOME%" 
-Dkaraf.base="%KARAF_BASE%" -Dkaraf.etc="%KARAF_ETC%" 
-Djava.io.tmpdir="%KARAF_DATA%\tmp" 
-Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" 
%KARAF_OPTS% org.apache.karaf.instance.main.Execute %ARGS%
 
 rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
 

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/assemblies/features/framework/src/main/filtered-resources/resources/etc/config.properties
----------------------------------------------------------------------
diff --git 
a/assemblies/features/framework/src/main/filtered-resources/resources/etc/config.properties
 
b/assemblies/features/framework/src/main/filtered-resources/resources/etc/config.properties
index 56b852f..a2c38b5 100644
--- 
a/assemblies/features/framework/src/main/filtered-resources/resources/etc/config.properties
+++ 
b/assemblies/features/framework/src/main/filtered-resources/resources/etc/config.properties
@@ -73,7 +73,6 @@ org.osgi.framework.system.packages= \
  org.osgi.util.tracker;uses:="org.osgi.framework";version="1.5.1", \
  org.apache.karaf.jaas.boot;version="${karaf.osgi.version}", \
  org.apache.karaf.jaas.boot.principal;version="${karaf.osgi.version}", \
- org.apache.karaf.management.boot;version="${karaf.osgi.version}", \
  org.apache.karaf.version;version="${karaf.osgi.version}", \
  ${jre-${java.specification.version}}
 
@@ -145,7 +144,7 @@ eecap-1.2= osgi.ee; osgi.ee="OSGi/Minimum"; 
version:List<Version>="1.0,1.1", \
 #
 # javax.transaction is needed to avoid class loader constraint violation when 
using javax.sql
 #
-org.osgi.framework.bootdelegation=org.apache.karaf.jaas.boot,org.apache.karaf.jaas.boot.principal,org.apache.karaf.management.boot,sun.*,com.sun.*,javax.transaction,javax.transaction.*,javax.xml.crypto,javax.xml.crypto.*,org.apache.xerces.jaxp.datatype,org.apache.xerces.stax,org.apache.xerces.parsers,org.apache.xerces.jaxp,org.apache.xerces.jaxp.validation,org.apache.xerces.dom
+org.osgi.framework.bootdelegation=org.apache.karaf.jaas.boot,org.apache.karaf.jaas.boot.principal,sun.*,com.sun.*,javax.transaction,javax.transaction.*,javax.xml.crypto,javax.xml.crypto.*,org.apache.xerces.jaxp.datatype,org.apache.xerces.stax,org.apache.xerces.parsers,org.apache.xerces.jaxp,org.apache.xerces.jaxp.validation,org.apache.xerces.dom
 
 # jVisualVM support
 # in order to use Karaf with jvisualvm, the org.osgi.framework.bootdelegation 
property has to contain the org.netbeans.lib.profiler.server package

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/assemblies/features/framework/src/main/resources/resources/bin/karaf
----------------------------------------------------------------------
diff --git 
a/assemblies/features/framework/src/main/resources/resources/bin/karaf 
b/assemblies/features/framework/src/main/resources/resources/bin/karaf
index 9bc1b7c..adac2df 100755
--- a/assemblies/features/framework/src/main/resources/resources/bin/karaf
+++ b/assemblies/features/framework/src/main/resources/resources/bin/karaf
@@ -414,7 +414,7 @@ run() {
     fi
     cd "$KARAF_BASE"
 
-    exec "$JAVA" $JAVA_OPTS -Djava.endorsed.dirs="${JAVA_ENDORSED_DIRS}" 
-Djava.ext.dirs="${JAVA_EXT_DIRS}" -Dkaraf.instances="${KARAF_HOME}/instances" 
-Dkaraf.home="$KARAF_HOME" -Dkaraf.base="$KARAF_BASE" 
-Dkaraf.data="$KARAF_DATA" -Dkaraf.etc="$KARAF_ETC" 
-Djava.io.tmpdir="$KARAF_DATA/tmp" 
-Djava.util.logging.config.file="$KARAF_BASE/etc/java.util.logging.properties" 
-Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder
 $KARAF_OPTS $OPTS -classpath "$CLASSPATH" $MAIN "$@"
+    exec "$JAVA" $JAVA_OPTS -Djava.endorsed.dirs="${JAVA_ENDORSED_DIRS}" 
-Djava.ext.dirs="${JAVA_EXT_DIRS}" -Dkaraf.instances="${KARAF_HOME}/instances" 
-Dkaraf.home="$KARAF_HOME" -Dkaraf.base="$KARAF_BASE" 
-Dkaraf.data="$KARAF_DATA" -Dkaraf.etc="$KARAF_ETC" 
-Djava.io.tmpdir="$KARAF_DATA/tmp" 
-Djava.util.logging.config.file="$KARAF_BASE/etc/java.util.logging.properties" 
$KARAF_OPTS $OPTS -classpath "$CLASSPATH" $MAIN "$@"
 }
 
 main() {

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/assemblies/features/framework/src/main/resources/resources/bin/karaf.bat
----------------------------------------------------------------------
diff --git 
a/assemblies/features/framework/src/main/resources/resources/bin/karaf.bat 
b/assemblies/features/framework/src/main/resources/resources/bin/karaf.bat
index 23add97..f7f0f88 100644
--- a/assemblies/features/framework/src/main/resources/resources/bin/karaf.bat
+++ b/assemblies/features/framework/src/main/resources/resources/bin/karaf.bat
@@ -327,7 +327,7 @@ if "%KARAF_PROFILER%" == "" goto :RUN
     SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8
     rem Execute the Java Virtual Machine
     cd "%KARAF_BASE%"
-    "%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" 
-Djava.endorsed.dirs="%JAVA_HOME%\jre\lib\endorsed;%JAVA_HOME%\lib\endorsed;%KARAF_HOME%\lib\endorsed"
 
-Djava.ext.dirs="%JAVA_HOME%\jre\lib\ext;%JAVA_HOME%\lib\ext;%KARAF_HOME%\lib\ext"
 -Dkaraf.instances="%KARAF_HOME%\instances" -Dkaraf.home="%KARAF_HOME%" 
-Dkaraf.base="%KARAF_BASE%" -Dkaraf.etc="%KARAF_ETC%" 
-Djava.io.tmpdir="%KARAF_DATA%\tmp" -Dkaraf.data="%KARAF_DATA%" 
-Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" 
-Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder
 %KARAF_OPTS% %MAIN% %ARGS%
+    "%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" 
-Djava.endorsed.dirs="%JAVA_HOME%\jre\lib\endorsed;%JAVA_HOME%\lib\endorsed;%KARAF_HOME%\lib\endorsed"
 
-Djava.ext.dirs="%JAVA_HOME%\jre\lib\ext;%JAVA_HOME%\lib\ext;%KARAF_HOME%\lib\ext"
 -Dkaraf.instances="%KARAF_HOME%\instances" -Dkaraf.home="%KARAF_HOME%" 
-Dkaraf.base="%KARAF_BASE%" -Dkaraf.etc="%KARAF_ETC%" 
-Djava.io.tmpdir="%KARAF_DATA%\tmp" -Dkaraf.data="%KARAF_DATA%" 
-Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" 
%KARAF_OPTS% %MAIN% %ARGS%
 
 rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
 

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/itests/src/test/java/org/apache/karaf/itests/JMXSecurityTest.java
----------------------------------------------------------------------
diff --git a/itests/src/test/java/org/apache/karaf/itests/JMXSecurityTest.java 
b/itests/src/test/java/org/apache/karaf/itests/JMXSecurityTest.java
index 009c650..9825592 100644
--- a/itests/src/test/java/org/apache/karaf/itests/JMXSecurityTest.java
+++ b/itests/src/test/java/org/apache/karaf/itests/JMXSecurityTest.java
@@ -69,7 +69,6 @@ public class JMXSecurityTest extends KarafTestSupport {
 
         // Add some extra options used by this test...
         options.addAll(Arrays.asList(
-            new 
VMOption("-Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder"),
             
editConfigurationFilePut("etc/jmx.acl.org.apache.karaf.service.cfg", 
"getServices()", "admin"),
             
editConfigurationFilePut("etc/jmx.acl.org.apache.karaf.service.cfg", 
"getServices(boolean)", "viewer"),
             
editConfigurationFilePut("etc/jmx.acl.org.apache.karaf.service.cfg", 
"getServices(long)", "manager"),

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
----------------------------------------------------------------------
diff --git a/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java 
b/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
index d555947..f1331e1 100644
--- a/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
+++ b/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
@@ -119,8 +119,8 @@ public class KarafTestSupport {
         return new Option[]{
             // KarafDistributionOption.debugConfiguration("8889", true),
             
karafDistributionConfiguration().frameworkUrl(karafUrl).name("Apache 
Karaf").unpackDirectory(new File("target/exam")),
-            // enable JMX RBAC security, thanks to the KarafMBeanServerBuilder
-            configureSecurity().enableKarafMBeanServerBuilder(),
+            // the KarafMBeanServerBuilder doesn't exist anymore
+            configureSecurity().disableKarafMBeanServerBuilder(),
             keepRuntimeFolder(),
                                logLevel(LogLevel.INFO),
             replaceConfigurationFile("etc/org.ops4j.pax.logging.cfg", 
getConfigFile("/etc/org.ops4j.pax.logging.cfg")),

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/management/boot/NOTICE
----------------------------------------------------------------------
diff --git a/management/boot/NOTICE b/management/boot/NOTICE
deleted file mode 100644
index b70f1f9..0000000
--- a/management/boot/NOTICE
+++ /dev/null
@@ -1,71 +0,0 @@
-Apache Karaf
-Copyright 2010-2014 The Apache Software Foundation
-
-
-I. Included Software
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2010).
-Licensed under the Apache License 2.0.
-
-This product includes software developed at
-OW2 (http://www.ow2.org/).
-Licensed under the BSD License.
-
-This product includes software developed at
-OPS4J (http://www.ops4j.org/).
-Licensed under the Apache License 2.0.
-
-This product includes software developed at
-Eclipse Foundation (http://www.eclipse.org/).
-Licensed under the EPL.
-
-This product includes software written by
-Antony Lesuisse.
-Licensed under Public Domain.
-
-
-II. Used Software
-
-This product uses software developed at
-FUSE Source (http://www.fusesource.org/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-AOP Alliance (http://aopalliance.sourceforge.net/).
-Licensed under the Public Domain.
-
-This product uses software developed at
-Tanuki Software (http://www.tanukisoftware.com/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-Jasypt (http://jasypt.sourceforge.net/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-JLine (http://jline.sourceforge.net).
-Licensed under the BSD License.
-
-This product uses software developed at
-SLF4J (http://www.slf4j.org/).
-Licensed under the MIT License.
-
-This product uses software developed at
-SpringSource (http://www.springsource.org/).
-Licensed under the Apache License 2.0.
-
-This product includes software from http://www.json.org.
-Copyright (c) 2002 JSON.org
-
-
-III. License Summary
-- Apache License 2.0
-- BSD License
-- EPL License
-- MIT License

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/management/boot/pom.xml
----------------------------------------------------------------------
diff --git a/management/boot/pom.xml b/management/boot/pom.xml
deleted file mode 100644
index 35fae5e..0000000
--- a/management/boot/pom.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 
implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.karaf.management</groupId>
-        <artifactId>management</artifactId>
-        <version>3.0.4-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <artifactId>org.apache.karaf.management.boot</artifactId>
-    <packaging>bundle</packaging>
-    <name>Apache Karaf :: Management :: Boot</name>
-    <description>Provides the JMX classes loaded at boot of the 
process.</description>
-
-    <properties>
-        
<appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
-    </properties>
-
-    <build>
-        <resources>
-            <resource>
-                <directory>${project.basedir}/src/main/resources</directory>
-                <includes>
-                    <include>**/*</include>
-                </includes>
-            </resource>
-            <resource>
-                <directory>${project.basedir}/src/main/resources</directory>
-                <filtering>true</filtering>
-                <includes>
-                    <include>**/*.info</include>
-                </includes>
-            </resource>
-        </resources>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/management/boot/src/main/java/org/apache/karaf/management/boot/KarafMBeanServerBuilder.java
----------------------------------------------------------------------
diff --git 
a/management/boot/src/main/java/org/apache/karaf/management/boot/KarafMBeanServerBuilder.java
 
b/management/boot/src/main/java/org/apache/karaf/management/boot/KarafMBeanServerBuilder.java
deleted file mode 100644
index 9c5e014..0000000
--- 
a/management/boot/src/main/java/org/apache/karaf/management/boot/KarafMBeanServerBuilder.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.management.boot;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import javax.management.MBeanServer;
-import javax.management.MBeanServerBuilder;
-import javax.management.MBeanServerDelegate;
-
-public class KarafMBeanServerBuilder extends MBeanServerBuilder {
-
-    private static volatile InvocationHandler guard;
-
-    public static InvocationHandler getGuard() {
-        return guard;
-    }
-
-    public static void setGuard(InvocationHandler guardHandler) {
-        guard = guardHandler;
-    }
-
-    @Override
-    public MBeanServer newMBeanServer(String defaultDomain, MBeanServer outer, 
MBeanServerDelegate delegate) {
-        InvocationHandler handler = new 
MBeanInvocationHandler(super.newMBeanServer(defaultDomain, outer, delegate));
-        return (MBeanServer) 
Proxy.newProxyInstance(getClass().getClassLoader(), new Class[]{ 
MBeanServer.class }, handler);
-    }
-
-    private static final class MBeanInvocationHandler implements 
InvocationHandler {
-
-        private final MBeanServer wrapped;
-        private final List<String> guarded = 
Collections.unmodifiableList(Arrays.asList("invoke", "getAttribute", 
"getAttributes", "setAttribute", "setAttributes"));
-
-        MBeanInvocationHandler(MBeanServer mbeanServer) {
-            wrapped = mbeanServer;
-        }
-
-        public Object invoke(Object proxy, Method method, Object[] args) 
throws Throwable {
-            if (guarded.contains(method.getName())) {
-                if (KarafMBeanServerBuilder.guard == null) {
-                    throw new IllegalStateException("KarafMBeanServerBuilder 
not initialized");
-                }
-                guard.invoke(proxy, method, args);
-            }
-            if (method.getName().equals("equals")
-                    && method.getParameterTypes().length == 1
-                    && method.getParameterTypes()[0] == Object.class) {
-                Object target = args[0];
-                if (target != null && Proxy.isProxyClass(target.getClass())) {
-                    InvocationHandler handler = 
Proxy.getInvocationHandler(target);
-                    if (handler instanceof MBeanInvocationHandler) {
-                        args[0] = ((MBeanInvocationHandler) handler).wrapped;
-                    }
-                }
-            } else if (method.getName().equals("finalize") && 
method.getParameterTypes().length == 0) {
-                // special case finalize, don't route through to delegate 
because that will get its own call
-                return null;
-            }
-            try {
-                return method.invoke(wrapped, args);
-            } catch (InvocationTargetException ite) {
-                throw ite.getCause();
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/management/boot/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/management/boot/src/main/resources/OSGI-INF/bundle.info 
b/management/boot/src/main/resources/OSGI-INF/bundle.info
deleted file mode 100644
index 9490579..0000000
--- a/management/boot/src/main/resources/OSGI-INF/bundle.info
+++ /dev/null
@@ -1,17 +0,0 @@
-\u001B[1mSYNOPSIS\u001B[0m
-    ${project.name}
-
-    ${project.description}
-
-    Maven URL:
-        
\u001B[33mmvn:${project.groupId}/${project.artifactId}/${project.version}\u001B[0m
-
-\u001B[1mDESCRIPTION\u001B[0m
-    This bundle provides JMX classes loaded during Karaf boot process.
-
-    In particular it provides the KarafMBeanServerBuilder.
-
-    The KarafMBeanServerBuilder builds a special MBeanServer that allows 
role-based authorization
-    for JMX access.
-    This class must be loadable from at startup by the JVM so this module is 
added to classpath, the
-    the boot delegation class path and made available via the system bundle.

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/management/boot/src/test/java/org/apache/karaf/management/boot/KarafMBeanServerBuilderTest.java
----------------------------------------------------------------------
diff --git 
a/management/boot/src/test/java/org/apache/karaf/management/boot/KarafMBeanServerBuilderTest.java
 
b/management/boot/src/test/java/org/apache/karaf/management/boot/KarafMBeanServerBuilderTest.java
deleted file mode 100644
index b6274e6..0000000
--- 
a/management/boot/src/test/java/org/apache/karaf/management/boot/KarafMBeanServerBuilderTest.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.management.boot;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.management.AttributeList;
-import javax.management.InstanceNotFoundException;
-import javax.management.MBeanServer;
-import javax.management.NotCompliantMBeanException;
-import javax.management.ObjectName;
-
-import junit.framework.TestCase;
-
-import org.easymock.EasyMock;
-
-
-public class KarafMBeanServerBuilderTest extends TestCase {
-
-    public void testMBeanServerBuilderBlocking() throws Exception {
-        MBeanServer mbs = EasyMock.createMock(MBeanServer.class);
-        EasyMock.replay(mbs);
-
-        KarafMBeanServerBuilder mbsb = new KarafMBeanServerBuilder();
-        MBeanServer kmbs = mbsb.newMBeanServer("test", mbs, null);
-
-        final List<Object> handlerArgs = new ArrayList<Object>();
-        InvocationHandler guard = new InvocationHandler() {
-            @Override
-            public Object invoke(Object proxy, Method method, Object[] args) 
throws Throwable {
-                handlerArgs.add(proxy);
-                handlerArgs.add(method);
-                handlerArgs.add(args);
-
-                throw new SecurityException("Access Denied");
-            }
-        };
-
-        KarafMBeanServerBuilder.setGuard(guard);
-
-        assertEquals("Precondition", 0, handlerArgs.size());
-
-        ObjectName on = ObjectName.getInstance("foo.bar:type=TestObject");
-
-        try {
-            // obtain a JMX attribute
-            kmbs.getAttribute(on, "myAttr");
-            fail("Should have access denied");
-        } catch (SecurityException se) {
-            // good
-            assertEquals(3, handlerArgs.size());
-            assertSame(kmbs, handlerArgs.get(0));
-            assertEquals("getAttribute", ((Method) 
handlerArgs.get(1)).getName());
-            Object[] args = (Object[]) handlerArgs.get(2);
-            assertEquals(2, args.length);
-            assertSame(on, args[0]);
-            assertEquals("myAttr", args[1]);
-        }
-
-        try {
-            // obtain a number of JMX attributes
-            kmbs.getAttributes(on, new String[]{"foo", "bar"});
-            fail("Should have access denied");
-        } catch (SecurityException se) {
-            // good
-        }
-
-        try {
-            // set a JMX attribute
-            kmbs.getAttributes(on, new String[]{ "goo", "far" });
-            fail("Should have access denied");
-        } catch (SecurityException se) {
-            // good
-        }
-
-        try {
-            // set a number of JMX attributes
-            kmbs.setAttributes(on, new AttributeList());
-            fail("Should have access denied");
-        } catch (SecurityException se) {
-            // good
-        }
-
-        try {
-            // mimic a JMX method invocation
-            kmbs.setAttributes(on, new AttributeList());
-            fail("Should have access denied");
-        } catch (SecurityException se) {
-            // good
-        }
-
-        // try some MBeanServer operations that are not guarded
-        assertTrue(kmbs.getDomains().length > 0);
-        assertTrue(kmbs.getMBeanCount() > 0);
-        assertTrue(kmbs.getDefaultDomain().length() > 0);
-    }
-
-    public void testMBeanServerBuilderNonBlocking() throws Exception {
-        MBeanServer mbs = EasyMock.createMock(MBeanServer.class);
-        EasyMock.replay(mbs);
-
-        KarafMBeanServerBuilder mbsb = new KarafMBeanServerBuilder();
-        MBeanServer kmbs = mbsb.newMBeanServer("test", mbs, null);
-
-        final List<Object> handlerArgs = new ArrayList<Object>();
-        InvocationHandler guard = new InvocationHandler() {
-            @Override
-            public Object invoke(Object proxy, Method method, Object[] args) 
throws Throwable {
-                handlerArgs.add(proxy);
-                handlerArgs.add(method);
-                handlerArgs.add(args);
-                return null;
-            }
-        };
-
-        KarafMBeanServerBuilder.setGuard(guard);
-
-        assertEquals("Precondition", 0, handlerArgs.size());
-
-        ObjectName on = ObjectName.getInstance("foo.bar:type=TestObject");
-
-        try {
-            kmbs.getAttribute(on, "myAttr");
-        } catch (Exception e) {
-            Throwable th = getInnermostException(e);
-            assertTrue("Expected exception as the object in question is not 
registered with the MBeanServer", th instanceof InstanceNotFoundException);
-            // good
-            assertEquals(3, handlerArgs.size());
-            assertSame(kmbs, handlerArgs.get(0));
-            assertEquals("getAttribute", ((Method) 
handlerArgs.get(1)).getName());
-            Object[] args = (Object[]) handlerArgs.get(2);
-            assertEquals(2, args.length);
-            assertSame(on, args[0]);
-            assertEquals("myAttr", args[1]);
-        }
-    }
-
-    public void testMBeanServerThrowsException() throws Exception {
-        MBeanServer mbs = EasyMock.createMock(MBeanServer.class);
-        EasyMock.replay(mbs);
-
-        KarafMBeanServerBuilder mbsb = new KarafMBeanServerBuilder();
-        MBeanServer kmbs = mbsb.newMBeanServer("test", mbs, null);
-
-        try {
-            kmbs.registerMBean("Foo", 
ObjectName.getInstance("foo.bar:type=TestObject"));
-        } catch (NotCompliantMBeanException ncme) {
-            // good
-            return;
-        }
-        fail("Should have thrown a NotCompliantMBeanException");
-    }
-
-    private Throwable getInnermostException(Throwable th) {
-        if (th.getCause() != null) {
-            return getInnermostException(th.getCause());
-        } else {
-            return th;
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/management/pom.xml
----------------------------------------------------------------------
diff --git a/management/pom.xml b/management/pom.xml
index e21171c..87e6d6d 100644
--- a/management/pom.xml
+++ b/management/pom.xml
@@ -34,7 +34,6 @@
     <name>Apache Karaf :: Management</name>
 
     <modules>
-        <module>boot</module>
         <module>server</module>
     </modules>
 

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/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 5660792..cc0939c 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
@@ -18,10 +18,12 @@ package org.apache.karaf.management;
 
 import org.apache.karaf.jaas.config.KeystoreInstance;
 import org.apache.karaf.jaas.config.KeystoreManager;
+import org.apache.karaf.management.internal.MBeanInvocationHandler;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
+import java.lang.reflect.Proxy;
 import java.net.BindException;
 import java.net.InetAddress;
 import java.net.ServerSocket;
@@ -50,6 +52,7 @@ public class ConnectorServerFactory {
     private enum AuthenticatorType {NONE, PASSWORD, CERTIFICATE};
 
     private MBeanServer server;
+    private KarafMBeanServerGuard guard;
     private String serviceUrl;
     private String rmiServerHost;
     private Map environment;
@@ -76,6 +79,14 @@ public class ConnectorServerFactory {
         this.server = server;
     }
 
+    public KarafMBeanServerGuard getGuard() {
+        return guard;
+    }
+
+    public void setGuard(KarafMBeanServerGuard guard) {
+        this.guard = guard;
+    }
+
     public String getServiceUrl() {
         return serviceUrl;
     }
@@ -241,7 +252,10 @@ public class ConnectorServerFactory {
             this.environment.remove( "jmx.remote.authenticator" );
         }
 
-        this.connectorServer = 
JMXConnectorServerFactory.newJMXConnectorServer(url, this.environment, 
this.server);
+        MBeanInvocationHandler handler = new MBeanInvocationHandler(server, 
guard);
+        MBeanServer guardedServer = (MBeanServer) 
Proxy.newProxyInstance(server.getClass().getClassLoader(), new Class[]{ 
MBeanServer.class }, handler);
+        this.connectorServer = 
JMXConnectorServerFactory.newJMXConnectorServer(url, this.environment, 
guardedServer);
+
         if (this.objectName != null) {
             this.server.registerMBean(this.connectorServer, this.objectName);
         }

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java
----------------------------------------------------------------------
diff --git 
a/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java
 
b/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java
index 3dd2dae..98635ae 100644
--- 
a/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java
+++ 
b/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java
@@ -61,10 +61,6 @@ public class KarafMBeanServerGuard implements 
InvocationHandler {
         this.configAdmin = configAdmin;
     }
 
-    public void init() {
-        KarafMBeanServerBuilder.setGuard(this);
-    }
-
     public Object invoke(Object proxy, Method method, Object[] args) throws 
Throwable {
         if (method.getParameterTypes().length == 0)
             return null;

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/management/server/src/main/java/org/apache/karaf/management/internal/JMXSecurityMBeanImpl.java
----------------------------------------------------------------------
diff --git 
a/management/server/src/main/java/org/apache/karaf/management/internal/JMXSecurityMBeanImpl.java
 
b/management/server/src/main/java/org/apache/karaf/management/internal/JMXSecurityMBeanImpl.java
index a62a055..4e4a721 100644
--- 
a/management/server/src/main/java/org/apache/karaf/management/internal/JMXSecurityMBeanImpl.java
+++ 
b/management/server/src/main/java/org/apache/karaf/management/internal/JMXSecurityMBeanImpl.java
@@ -35,13 +35,13 @@ import java.util.Map;
 public class JMXSecurityMBeanImpl extends StandardMBean implements 
JMXSecurityMBean {
 
     private MBeanServer mbeanServer;
+    private KarafMBeanServerGuard guard;
 
     public JMXSecurityMBeanImpl() throws NotCompliantMBeanException {
         super(JMXSecurityMBean.class);
     }
 
     public boolean canInvoke(String objectName) throws Exception {
-        KarafMBeanServerGuard guard = (KarafMBeanServerGuard) 
KarafMBeanServerBuilder.getGuard();
         if (guard == null)
             return true;
 
@@ -49,7 +49,6 @@ public class JMXSecurityMBeanImpl extends StandardMBean 
implements JMXSecurityMB
     }
 
     public boolean canInvoke(String objectName, String methodName) throws 
Exception {
-        KarafMBeanServerGuard guard = (KarafMBeanServerGuard) 
KarafMBeanServerBuilder.getGuard();
         if (guard == null)
             return true;
 
@@ -59,7 +58,6 @@ public class JMXSecurityMBeanImpl extends StandardMBean 
implements JMXSecurityMB
     public boolean canInvoke(String objectName, String methodName, String[] 
argumentTypes) throws Exception {
         ObjectName on = new ObjectName(objectName);
 
-        KarafMBeanServerGuard guard = (KarafMBeanServerGuard) 
KarafMBeanServerBuilder.getGuard();
         if (guard == null)
             return true;
 
@@ -118,4 +116,12 @@ public class JMXSecurityMBeanImpl extends StandardMBean 
implements JMXSecurityMB
         this.mbeanServer = mbeanServer;
     }
 
+    public KarafMBeanServerGuard getGuard() {
+        return guard;
+    }
+
+    public void setGuard(KarafMBeanServerGuard guard) {
+        this.guard = guard;
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/management/server/src/main/java/org/apache/karaf/management/internal/MBeanInvocationHandler.java
----------------------------------------------------------------------
diff --git 
a/management/server/src/main/java/org/apache/karaf/management/internal/MBeanInvocationHandler.java
 
b/management/server/src/main/java/org/apache/karaf/management/internal/MBeanInvocationHandler.java
new file mode 100644
index 0000000..ce83796
--- /dev/null
+++ 
b/management/server/src/main/java/org/apache/karaf/management/internal/MBeanInvocationHandler.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.karaf.management.internal;
+
+import javax.management.MBeanServer;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+public class MBeanInvocationHandler implements InvocationHandler {
+
+    private final MBeanServer wrapped;
+
+    private final InvocationHandler guard;
+
+    private final List<String> guarded = 
Collections.unmodifiableList(Arrays.asList("invoke", "getAttribute", 
"getAttributes", "setAttribute", "setAttributes"));
+
+    public MBeanInvocationHandler(MBeanServer server, InvocationHandler guard) 
{
+        this.wrapped = server;
+        this.guard = guard;
+    }
+
+    public Object invoke(Object proxy, Method method, Object[] args) throws 
Throwable {
+        if (guarded.contains(method.getName())) {
+            guard.invoke(proxy, method, args);
+        }
+
+        if (method.getName().equals("equals")
+                && method.getParameterTypes().length == 1
+                && method.getParameterTypes()[0] == Object.class) {
+            Object target = args[0];
+            if (target != null && Proxy.isProxyClass(target.getClass())) {
+                InvocationHandler handler = Proxy.getInvocationHandler(target);
+                if (handler instanceof MBeanInvocationHandler) {
+                    args[0] = ((MBeanInvocationHandler) handler).wrapped;
+                }
+            }
+        } else if (method.getName().equals("finalize") && 
method.getParameterTypes().length == 0) {
+            // special case finalize, don't route through to delegate because 
that will get its own call
+            return null;
+        }
+
+        try {
+            return method.invoke(wrapped, args);
+        } catch (InvocationTargetException e) {
+            throw e.getCause();
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/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 7e3d5e2..9dabe3d 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
@@ -76,6 +76,7 @@
     <bean id="connectorFactory" 
class="org.apache.karaf.management.ConnectorServerFactory" init-method="init"
           destroy-method="destroy">
         <property name="server" ref="mbeanServer"/>
+        <property name="guard" ref="karafMBeanServerGuard"/>
         <property name="serviceUrl" value="${serviceUrl}"/>
         <property name="rmiServerHost" value="${rmiServerHost}"/>
         <property name="daemon" value="${daemon}"/>
@@ -106,13 +107,14 @@
     <reference id="configAdmin" 
interface="org.osgi.service.cm.ConfigurationAdmin" />
 
     <!-- For role-based security on the JMX API -->
-    <bean id="karafMBeanServerGuard" 
class="org.apache.karaf.management.KarafMBeanServerGuard" init-method="init">
+    <bean id="karafMBeanServerGuard" 
class="org.apache.karaf.management.KarafMBeanServerGuard">
         <property name="configAdmin" ref="configAdmin" />
     </bean>
 
     <!-- JMX Security MBean -->
     <bean id="jmxSecurityMBean" 
class="org.apache.karaf.management.internal.JMXSecurityMBeanImpl">
         <property name="MBeanServer" ref="mbeanServer"/>
+        <property name="guard" ref="karafMBeanServerGuard"/>
     </bean>
 
     <service ref="jmxSecurityMBean" auto-export="interfaces">

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/management/server/src/test/java/org/apache/karaf/management/internal/JMXSecurityMBeanImplTestCase.java
----------------------------------------------------------------------
diff --git 
a/management/server/src/test/java/org/apache/karaf/management/internal/JMXSecurityMBeanImplTestCase.java
 
b/management/server/src/test/java/org/apache/karaf/management/internal/JMXSecurityMBeanImplTestCase.java
index f86e31c..c22a4bf 100644
--- 
a/management/server/src/test/java/org/apache/karaf/management/internal/JMXSecurityMBeanImplTestCase.java
+++ 
b/management/server/src/test/java/org/apache/karaf/management/internal/JMXSecurityMBeanImplTestCase.java
@@ -54,6 +54,7 @@ public class JMXSecurityMBeanImplTestCase extends TestCase {
 
             JMXSecurityMBeanImpl mb = new JMXSecurityMBeanImpl();
             mb.setMBeanServer(mbs);
+            mb.setGuard(testGuard);
             assertTrue(mb.canInvoke(objectName));
         } finally {
             KarafMBeanServerBuilder.setGuard(prevGuard);
@@ -74,6 +75,7 @@ public class JMXSecurityMBeanImplTestCase extends TestCase {
 
             JMXSecurityMBeanImpl mb = new JMXSecurityMBeanImpl();
             mb.setMBeanServer(mbs);
+            mb.setGuard(testGuard);
             assertFalse(mb.canInvoke(objectName));
         } finally {
             KarafMBeanServerBuilder.setGuard(prevGuard);
@@ -94,6 +96,7 @@ public class JMXSecurityMBeanImplTestCase extends TestCase {
 
             JMXSecurityMBeanImpl mb = new JMXSecurityMBeanImpl();
             mb.setMBeanServer(mbs);
+            mb.setGuard(testGuard);
             mb.canInvoke(objectName);
             fail("Should have thrown an exception");
         } catch (IOException ioe) {
@@ -132,6 +135,7 @@ public class JMXSecurityMBeanImplTestCase extends TestCase {
 
             JMXSecurityMBeanImpl mb = new JMXSecurityMBeanImpl();
             mb.setMBeanServer(mbs);
+            mb.setGuard(testGuard);
             assertTrue(mb.canInvoke(objectName, "testMethod", la));
             assertTrue(mb.canInvoke(objectName, "testMethod", sa));
             assertFalse(mb.canInvoke(objectName, "otherMethod", sa2));
@@ -155,6 +159,7 @@ public class JMXSecurityMBeanImplTestCase extends TestCase {
 
             JMXSecurityMBeanImpl mb = new JMXSecurityMBeanImpl();
             mb.setMBeanServer(mbs);
+            mb.setGuard(testGuard);
             mb.canInvoke(objectName, "testMethod", ea);
             fail("Should have thrown an exception");
         } catch (IOException ioe) {
@@ -196,6 +201,7 @@ public class JMXSecurityMBeanImplTestCase extends TestCase {
 
             JMXSecurityMBeanImpl mb = new JMXSecurityMBeanImpl();
             mb.setMBeanServer(mbs);
+            mb.setGuard(testGuard);
             Map<String, List<String>> query = new HashMap<String, 
List<String>>();
             query.put(objectName, Arrays.asList("otherMethod", 
"testMethod(long)", "testMethod(java.lang.String)"));
             query.put(objectName2, Collections.<String>emptyList());

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/manual/src/main/webapp/users-guide/wrapper.conf
----------------------------------------------------------------------
diff --git a/manual/src/main/webapp/users-guide/wrapper.conf 
b/manual/src/main/webapp/users-guide/wrapper.conf
index 7378527..b9fb8e2 100644
--- a/manual/src/main/webapp/users-guide/wrapper.conf
+++ b/manual/src/main/webapp/users-guide/wrapper.conf
@@ -270,10 +270,9 @@ wrapper.java.command=%JAVA_HOME%/bin/java
 wrapper.java.mainclass=org.apache.karaf.wrapper.internal.Main
 wrapper.java.classpath.1=%KARAF_HOME%/lib/karaf-wrapper.jar
 wrapper.java.classpath.2=%KARAF_HOME%/lib/karaf.jar
-wrapper.java.classpath.3=%KARAF_HOME%/lib/karaf-jmx-boot.jar
-wrapper.java.classpath.4=%KARAF_HOME%/lib/karaf-jaas-boot.jar
-wrapper.java.classpath.5=%KARAF_HOME%/lib/karaf-wrapper-main.jar
-wrapper.java.classpath.6=%KARAF_HOME%/lib/karaf-org.osgi.core.jar
+wrapper.java.classpath.3=%KARAF_HOME%/lib/karaf-jaas-boot.jar
+wrapper.java.classpath.4=%KARAF_HOME%/lib/karaf-wrapper-main.jar
+wrapper.java.classpath.5=%KARAF_HOME%/lib/karaf-org.osgi.core.jar
 wrapper.java.library.path.1=%KARAF_HOME%/lib/
 
 # Application Parameters.  Add parameters as needed starting from 1
@@ -286,11 +285,10 @@ wrapper.java.additional.2=-Dkaraf.base=%KARAF_BASE%
 wrapper.java.additional.3=-Dkaraf.data=%KARAF_DATA%
 wrapper.java.additional.4=-Dkaraf.etc=%KARAF_ETC%
 wrapper.java.additional.5=-Dcom.sun.management.jmxremote
-wrapper.java.additional.6=-Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder
-wrapper.java.additional.7=-Dkaraf.startLocalConsole=false
-wrapper.java.additional.8=-Dkaraf.startRemoteShell=true
-wrapper.java.additional.9=-Djava.endorsed.dirs=%JAVA_HOME%/jre/lib/endorsed:%JAVA_HOME%/lib/endorsed:%KARAF_HOME%/lib/endorsed
-wrapper.java.additional.10=-Djava.ext.dirs=%JAVA_HOME%/jre/lib/ext:%JAVA_HOME%/lib/ext:%KARAF_HOME%/lib/ext
+wrapper.java.additional.6=-Dkaraf.startLocalConsole=false
+wrapper.java.additional.7=-Dkaraf.startRemoteShell=true
+wrapper.java.additional.8=-Djava.endorsed.dirs=%JAVA_HOME%/jre/lib/endorsed:%JAVA_HOME%/lib/endorsed:%KARAF_HOME%/lib/endorsed
+wrapper.java.additional.9=-Djava.ext.dirs=%JAVA_HOME%/jre/lib/ext:%JAVA_HOME%/lib/ext:%KARAF_HOME%/lib/ext
 
 # Uncomment to enable jmx
 #wrapper.java.additional.n=-Dcom.sun.management.jmxremote.port=1616

http://git-wip-us.apache.org/repos/asf/karaf/blob/c1cdd70a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/unix/karaf-wrapper.conf
----------------------------------------------------------------------
diff --git 
a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/unix/karaf-wrapper.conf
 
b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/unix/karaf-wrapper.conf
index a3f98a5..226e930c 100644
--- 
a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/unix/karaf-wrapper.conf
+++ 
b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/unix/karaf-wrapper.conf
@@ -30,10 +30,9 @@ wrapper.java.command=%JAVA_HOME%/bin/java
 wrapper.java.mainclass=org.apache.karaf.wrapper.internal.Main
 wrapper.java.classpath.1=%KARAF_HOME%/lib/karaf-wrapper.jar
 wrapper.java.classpath.2=%KARAF_HOME%/lib/karaf.jar
-wrapper.java.classpath.3=%KARAF_HOME%/lib/karaf-jmx-boot.jar
-wrapper.java.classpath.4=%KARAF_HOME%/lib/karaf-jaas-boot.jar
-wrapper.java.classpath.5=%KARAF_HOME%/lib/karaf-wrapper-main.jar
-wrapper.java.classpath.6=%KARAF_HOME%/lib/karaf-org.osgi.core.jar
+wrapper.java.classpath.3=%KARAF_HOME%/lib/karaf-jaas-boot.jar
+wrapper.java.classpath.4=%KARAF_HOME%/lib/karaf-wrapper-main.jar
+wrapper.java.classpath.5=%KARAF_HOME%/lib/karaf-org.osgi.core.jar
 wrapper.java.library.path.1=%KARAF_HOME%/lib/
 
 # Application Parameters.  Add parameters as needed starting from 1
@@ -46,11 +45,10 @@ wrapper.java.additional.2=-Dkaraf.base=%KARAF_BASE%
 wrapper.java.additional.3=-Dkaraf.data=%KARAF_DATA%
 wrapper.java.additional.4=-Dkaraf.etc=%KARAF_ETC%
 wrapper.java.additional.5=-Dcom.sun.management.jmxremote
-wrapper.java.additional.6=-Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder
-wrapper.java.additional.7=-Dkaraf.startLocalConsole=false
-wrapper.java.additional.8=-Dkaraf.startRemoteShell=true
-wrapper.java.additional.9=-Djava.endorsed.dirs=%JAVA_HOME%/jre/lib/endorsed:%JAVA_HOME%/lib/endorsed:%KARAF_HOME%/lib/endorsed
-wrapper.java.additional.10=-Djava.ext.dirs=%JAVA_HOME%/jre/lib/ext:%JAVA_HOME%/lib/ext:%KARAF_HOME%/lib/ext
+wrapper.java.additional.6=-Dkaraf.startLocalConsole=false
+wrapper.java.additional.7=-Dkaraf.startRemoteShell=true
+wrapper.java.additional.8=-Djava.endorsed.dirs=%JAVA_HOME%/jre/lib/endorsed:%JAVA_HOME%/lib/endorsed:%KARAF_HOME%/lib/endorsed
+wrapper.java.additional.9=-Djava.ext.dirs=%JAVA_HOME%/jre/lib/ext:%JAVA_HOME%/lib/ext:%KARAF_HOME%/lib/ext
 
 # Uncomment to enable jmx
 #wrapper.java.additional.n=-Dcom.sun.management.jmxremote.port=1616

Reply via email to