1 17 package org.apache.geronimo.j2ee.mejb; 18 19 import java.util.Set ; 20 import javax.ejb.EJBHome ; 21 import javax.ejb.EJBObject ; 22 import javax.ejb.Handle ; 23 import javax.ejb.RemoveException ; 24 import javax.management.Attribute ; 25 import javax.management.AttributeList ; 26 import javax.management.AttributeNotFoundException ; 27 import javax.management.InstanceNotFoundException ; 28 import javax.management.IntrospectionException ; 29 import javax.management.InvalidAttributeValueException ; 30 import javax.management.MBeanException ; 31 import javax.management.MBeanInfo ; 32 import javax.management.MBeanServer ; 33 import javax.management.ObjectName ; 34 import javax.management.QueryExp ; 35 import javax.management.ReflectionException ; 36 import javax.management.j2ee.ListenerRegistration ; 37 import javax.management.j2ee.Management ; 38 39 import org.apache.geronimo.gbean.GBeanInfo; 40 import org.apache.geronimo.gbean.GBeanInfoBuilder; 41 import org.apache.geronimo.system.jmx.MBeanServerReference; 42 import org.apache.geronimo.management.J2EEManagedObject; 43 44 49 public class MEJB implements Management { 50 private final String objectName; 51 private final MBeanServer mbeanServer; 52 53 public MEJB(String objectName, MBeanServerReference mbeanServerReference) { 55 this(objectName, mbeanServerReference.getMBeanServer()); 56 } 57 58 public MEJB(String objectName, MBeanServer mbeanServer) { 59 this.objectName = objectName; 60 this.mbeanServer = mbeanServer; 61 } 62 63 public MBeanInfo getMBeanInfo(ObjectName objectName) throws InstanceNotFoundException , IntrospectionException , ReflectionException { 64 return mbeanServer.getMBeanInfo(objectName); 65 } 66 67 public String getDefaultDomain() { 68 return mbeanServer.getDefaultDomain(); 69 } 70 71 public Object getAttribute(ObjectName objectName, String s) throws MBeanException , AttributeNotFoundException , InstanceNotFoundException , ReflectionException { 72 return mbeanServer.getAttribute(objectName, s); 73 } 74 75 public void setAttribute(ObjectName objectName, Attribute attribute) throws InstanceNotFoundException , AttributeNotFoundException , InvalidAttributeValueException , MBeanException , ReflectionException { 76 mbeanServer.setAttribute(objectName, attribute); 77 } 78 79 public AttributeList getAttributes(ObjectName objectName, String [] strings) throws InstanceNotFoundException , ReflectionException { 80 return mbeanServer.getAttributes(objectName, strings); 81 } 82 83 public AttributeList setAttributes(ObjectName objectName, AttributeList attributeList) throws InstanceNotFoundException , ReflectionException { 84 return mbeanServer.setAttributes(objectName, attributeList); 85 } 86 87 public Object invoke(ObjectName objectName, String s, Object [] objects, String [] strings) throws InstanceNotFoundException , MBeanException , ReflectionException { 88 return mbeanServer.invoke(objectName, s, objects, strings); 89 } 90 91 public Integer getMBeanCount() { 92 return mbeanServer.getMBeanCount(); 93 } 94 95 public boolean isRegistered(ObjectName objectName) { 96 return mbeanServer.isRegistered(objectName); 97 } 98 99 public Set queryNames(ObjectName objectName, QueryExp queryExp) { 100 return mbeanServer.queryNames(objectName, queryExp); 101 } 102 103 public ListenerRegistration getListenerRegistry() { 104 throw new UnsupportedOperationException ("Not Yet Implemented"); 105 } 106 107 108 public EJBHome getEJBHome() { 110 return null; 111 } 112 113 public Handle getHandle() { 114 return null; 115 } 116 117 public Object getPrimaryKey() { 118 return null; 119 } 120 121 public boolean isIdentical(EJBObject obj) { 122 return false; 123 } 124 125 public void remove() throws RemoveException { 126 } 127 128 public String getObjectName() { 129 return objectName; 130 } 131 132 public boolean isStateManageable() { 133 return false; 134 } 135 136 public boolean isStatisticsProvider() { 137 return false; 138 } 139 140 public boolean isEventProvider() { 141 return false; 142 } 143 144 public static final GBeanInfo GBEAN_INFO; 145 146 static { 147 GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(MEJB.class); 148 infoBuilder.addAttribute("objectName", String .class, false); 149 infoBuilder.addReference("MBeanServerReference", MBeanServerReference.class); 150 infoBuilder.addInterface(Management .class); 151 infoBuilder.addInterface(J2EEManagedObject.class); 152 153 infoBuilder.setConstructor(new String []{"objectName", "MBeanServerReference"}); 154 155 GBEAN_INFO = infoBuilder.getBeanInfo(); 156 } 157 158 public static GBeanInfo getGBeanInfo() { 159 return GBEAN_INFO; 160 } 161 162 } 163 | Popular Tags |