01: /**
02: * Sequoia: Database clustering technology.
03: * Copyright (C) 2002-2004 French National Institute For Research In Computer
04: * Science And Control (INRIA).
05: * Contact: sequoia@continuent.org
06: *
07: * Licensed under the Apache License, Version 2.0 (the "License");
08: * you may not use this file except in compliance with the License.
09: * You may obtain a copy of the License at
10: *
11: * http://www.apache.org/licenses/LICENSE-2.0
12: *
13: * Unless required by applicable law or agreed to in writing, software
14: * distributed under the License is distributed on an "AS IS" BASIS,
15: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16: * See the License for the specific language governing permissions and
17: * limitations under the License.
18: *
19: * Initial developer(s): Marc Wick.
20: * Contributor(s): ______________________.
21: */package org.continuent.sequoia.controller.jmx;
22:
23: import javax.management.MBeanServer;
24: import javax.management.MBeanServerDelegate;
25:
26: /**
27: * This class is a custom implementation of MBeanServerBuilder, it builds a
28: * MBeanServer decorated with an AuthenticatingMBeanServer.
29: *
30: * @author <a href="mailto:marc.wick@monte-bre.ch">Marc Wick </a>
31: * @version 1.0
32: */
33: public class MBeanServerBuilder extends ChainedMBeanServerBuilder {
34: /**
35: * Creates a new <code>MBeanServerBuilder.java</code> object
36: */
37: public MBeanServerBuilder() {
38: super (new javax.management.MBeanServerBuilder());
39: }
40:
41: /**
42: * @see javax.management.MBeanServerBuilder#newMBeanServer(java.lang.String,
43: * javax.management.MBeanServer, javax.management.MBeanServerDelegate)
44: */
45: public MBeanServer newMBeanServer(String defaultDomain,
46: MBeanServer outer, MBeanServerDelegate delegate) {
47: AuthenticatingMBeanServer extern = new AuthenticatingMBeanServer();
48: MBeanServer nested = getMBeanServerBuilder()
49: .newMBeanServer(defaultDomain,
50: outer == null ? extern : outer, delegate);
51: extern.setMBeanServer(nested);
52: return extern;
53: }
54: }
|