}
/*
* Construct the ObjectName
*/
Service service = this.getAnnotation(Service.class);
String objname = service.objectName();
delegateObjectName = (objname == null || objname.equals("")) ? new ObjectName(getObjectName()
.getCanonicalName()
+ ",type=ManagementInterface") : new ObjectName(objname);
// For @Management
if (intf != null)
{
if (mbeanServer == null)
throw new RuntimeException("There is a @Management interface on " + ejbName
+ " but the MBeanServer has not been initialized for it");
delegate = new ServiceMBeanDelegate(mbeanServer, this, intf, delegateObjectName);
/*
*
* This section is in place to replace the KernelAbstraction.installMBean
* method which will be removed JBossASKernel (AS/trunk/ejb3) for 5.0.1.
*
* Here to be backwards-compatible with JBossAS 5.0.0.GA
*
* http://www.jboss.com/index.html?module=bb&op=viewtopic&t=148497
*
*/
// The old/deprecated access
//getDeployment().getKernelAbstraction().installMBean(delegateObjectName, newPolicy, delegate);
// Register w/ MBean Server
mbeanServer.registerMBean(delegate, delegateObjectName);
// Install into MC
getDeployment().getKernelAbstraction().install(delegateObjectName.getCanonicalName(), newPolicy, null,
delegate);
/*
*
* End backwards-compatible replacement for:
* getDeployment().getKernelAbstraction().installMBean
*
*/
}
// XMBeans
else
{
if (service.xmbean().length() > 0)
{
if (mbeanServer == null)
throw new RuntimeException(ejbName
+ "is defined as an XMBean, but the MBeanServer has not been initialized for it");
delegate = new ServiceMBeanDelegate(mbeanServer, this, service.xmbean(), delegateObjectName);
getDeployment().getKernelAbstraction().installMBean(delegateObjectName, newPolicy, delegate);
}
}