org.ow2.jonas.jmx.internal
Class BaseJMXService

java.lang.Object
  extended by javax.management.NotificationBroadcasterSupport
      extended by org.ow2.jonas.lib.reconfig.ReconfigEmitter
          extended by org.ow2.jonas.lib.service.AbsServiceImpl
              extended by org.ow2.jonas.jmx.internal.BaseJMXService
All Implemented Interfaces:
NotificationBroadcaster, NotificationEmitter, JmxService, Service
Direct Known Subclasses:
JOnASJMXService

public abstract class BaseJMXService
extends AbsServiceImpl
implements JmxService

JMX Service implementation. This singleton class must exist in each jonas server that is to be administered via JMX. Its main role is to initialize the service (the singleton object).

Author:
Guillaume Riviere, Michel Bruno, Adriana Danes

Field Summary
 
Fields inherited from class org.ow2.jonas.lib.reconfig.ReconfigEmitter
RECONFIG_TYPE, SAVE_RECONFIG_TYPE
 
Constructor Summary
BaseJMXService()
           
 
Method Summary
 void doStart()
          Start the Service Initialization of the service is already done.
 void doStop()
          Stop this service.
 ManagedBean findManagedBean(String name)
           
 MBeanServer getJmxServer()
           
 MBeanServerConnection getJmxServerConnection()
           
protected static org.objectweb.util.monolog.api.Logger getLogger()
           
<T> String
getObjectName(T instance)
           
 void loadDescriptors(String packageName, ClassLoader cl)
          Load additional mbean descriptors.
 void registerMBean(Object mbean, ObjectName objectName)
          Register an MBean in the JOnAS MBeanServer.
 void registerMBean(Object mbean, String objectName)
          Register an MBean in the JOnAS MBeanServer.
<T> String
registerMBean(T instance)
          Register the instance as a ModelMBean using the delegate.
 void registerModelMBean(Object mbean, ObjectName objectName)
          Register a Model MBean in the JOnAS MBeanServer.
 ModelMBean registerModelMBean(Object mbean, ObjectName objectName, ManagedBean managedBean)
          Register a Model MBean in the JOnAS MBeanServer.
 void registerModelMBean(Object mbean, String objectName)
          Register a Model MBean in the JOnAS MBeanServer.
 void setMBeanServer(MBeanServer mbs)
           
 void setMBeanServerID(String serverId)
          Set the mbean server id.
 void unregisterMBean(ObjectName objectName)
          Unregister an MBean from the JOnAS MBeanServer.
<T> void
unregisterMBean(T instance)
          Unregister the given Object.
 void unregisterModelMBean(ObjectName objectName)
          Unegister a Model MBean from the JOnAS MBeanServer.
 
Methods inherited from class org.ow2.jonas.lib.service.AbsServiceImpl
convertToList, doInit, getDomainName, getJonasServerName, getName, getServerProperties, init, isStarted, setName, setServerProperties, start, stop, throwRequirementException, toString
 
Methods inherited from class org.ow2.jonas.lib.reconfig.ReconfigEmitter
initLogger, sendReconfigNotification, sendSaveNotification
 
Methods inherited from class javax.management.NotificationBroadcasterSupport
addNotificationListener, getNotificationInfo, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.ow2.jonas.jmx.JmxService
getConnectorServerURLs, getDomainName, getJonasServerName
 
Methods inherited from interface org.ow2.jonas.service.Service
getName, init, isStarted, setName, start, stop
 

Constructor Detail

BaseJMXService

public BaseJMXService()
Method Detail

getLogger

protected static org.objectweb.util.monolog.api.Logger getLogger()
Returns:
Logger logger object

setMBeanServerID

public void setMBeanServerID(String serverId)
Set the mbean server id.

Parameters:
serverId - mbean server ID

setMBeanServer

public void setMBeanServer(MBeanServer mbs)

doStart

public void doStart()
             throws ServiceException
Start the Service Initialization of the service is already done.

Specified by:
doStart in class AbsServiceImpl
Throws:
ServiceException - the service could not be started

doStop

public void doStop()
            throws ServiceException
Stop this service.

Specified by:
doStop in class AbsServiceImpl
Throws:
ServiceException - the service could not be stopped

getJmxServer

public MBeanServer getJmxServer()
Specified by:
getJmxServer in interface JmxService
Returns:
The local reference of the MBean server

getJmxServerConnection

public MBeanServerConnection getJmxServerConnection()
Specified by:
getJmxServerConnection in interface JmxService
Returns:
The Connection interface to the MBean server

registerMBean

public void registerMBean(Object mbean,
                          String objectName)
Register an MBean in the JOnAS MBeanServer.

Specified by:
registerMBean in interface JmxService
Parameters:
mbean - MBean object to register
objectName - the String representation of the MBean's ObjectName

registerMBean

public void registerMBean(Object mbean,
                          ObjectName objectName)
Register an MBean in the JOnAS MBeanServer.

Specified by:
registerMBean in interface JmxService
Parameters:
mbean - MBean object to register
objectName - the MBean's ObjectName

unregisterMBean

public void unregisterMBean(ObjectName objectName)
Unregister an MBean from the JOnAS MBeanServer.

Specified by:
unregisterMBean in interface JmxService
Parameters:
objectName - the MBean's ObjectName

findManagedBean

public ManagedBean findManagedBean(String name)

registerModelMBean

public ModelMBean registerModelMBean(Object mbean,
                                     ObjectName objectName,
                                     ManagedBean managedBean)
                              throws Exception
Register a Model MBean in the JOnAS MBeanServer.

Parameters:
mbean - MBean object to register
objectName - the Mbean ObjectName
Throws:
Exception - throwed when registering a modeler MBean

registerModelMBean

public void registerModelMBean(Object mbean,
                               ObjectName objectName)
                        throws Exception
Register a Model MBean in the JOnAS MBeanServer.

Specified by:
registerModelMBean in interface JmxService
Parameters:
mbean - MBean object to register
objectName - the Mbean ObjectName
Throws:
Exception - throwed when registering a modeler MBean

registerModelMBean

public void registerModelMBean(Object mbean,
                               String objectName)
                        throws Exception
Register a Model MBean in the JOnAS MBeanServer.

Specified by:
registerModelMBean in interface JmxService
Parameters:
mbean - MBean object to register
objectName - the Mbean stringified ObjectName
Throws:
Exception - throwed when registering a modeler MBean

unregisterModelMBean

public void unregisterModelMBean(ObjectName objectName)
Unegister a Model MBean from the JOnAS MBeanServer.

Specified by:
unregisterModelMBean in interface JmxService
Parameters:
objectName - the Mbean ObjectName

loadDescriptors

public void loadDescriptors(String packageName,
                            ClassLoader cl)
Load additional mbean descriptors.

Specified by:
loadDescriptors in interface JmxService
Parameters:
packageName - name of the package containing the descriptors file
cl - class loader containing the resource

registerMBean

public <T> String registerMBean(T instance)
                     throws Exception
Register the instance as a ModelMBean using the delegate.

Specified by:
registerMBean in interface JmxService
Type Parameters:
T - instance Type
Parameters:
instance - Object instance to be managed
Returns:
the MBean's OBJECT_NAME
Throws:
Exception - if registration fails.

unregisterMBean

public <T> void unregisterMBean(T instance)
                     throws Exception
Unregister the given Object.

Specified by:
unregisterMBean in interface JmxService
Type Parameters:
T - instance Type
Parameters:
instance - Instance to be deregistered.
Throws:
Exception - if unregistration fails.

getObjectName

public <T> String getObjectName(T instance)
                     throws ServiceException
Specified by:
getObjectName in interface JmxService
Type Parameters:
T - instance Type
Parameters:
instance - Object instance to be managed
Returns:
Returns the instance ObjectName.
Throws:
ServiceException - if registration fails.


Copyright © 2010 OW2 Consortium. All Rights Reserved.