1 /** 2 * 3 * Copyright 2005 The Apache Software Foundation 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 package org.apache.geronimo.system.jmx; 18 19 import javax.management.MBeanServer; 20 21 import org.apache.geronimo.gbean.GBeanInfo; 22 import org.apache.geronimo.gbean.GBeanInfoBuilder; 23 import org.apache.geronimo.kernel.Kernel; 24 25 /** 26 * Creates a fake mbean server which delegates all calls to the kernel 27 * @version $Rev: 410741 $ $Date: 2006-05-31 21:35:48 -0700 (Wed, 31 May 2006) $ 28 */ 29 public class KernelMBeanServerReference implements MBeanServerReference { 30 private MBeanServer mbeanServer; 31 32 public KernelMBeanServerReference(Kernel kernel) { 33 mbeanServer = new KernelMBeanServer(kernel); 34 } 35 36 public MBeanServer getMBeanServer() { 37 return mbeanServer; 38 } 39 40 public static final GBeanInfo GBEAN_INFO; 41 42 static { 43 GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic(KernelMBeanServerReference.class); 44 infoFactory.addAttribute("kernel", Kernel.class, false); 45 infoFactory.setConstructor(new String[]{"kernel"}); 46 GBEAN_INFO = infoFactory.getBeanInfo(); 47 } 48 49 public static GBeanInfo getGBeanInfo() { 50 return KernelMBeanServerReference.GBEAN_INFO; 51 } 52 }