## org.jboss.util
Class ServiceMBeanSupport

    java.lang.Object
      |
      +--javax.management.NotificationBroadcasterSupport
            |
            +--org.jboss.util.ServiceMBeanSupport

All Implemented Interfaces:
  javax.management.MBeanRegistration, javax.management.NotificationBroadcaster, Service, ServiceMBean

Direct Known Subclasses:
  AbstractWebContainer, AutoDeployer, BeanCacheMonitor, ClientUserTransactionService, ConfigurationService, ConnectorFactoryService, ContainerFactory, CounterService, DeployerMBeanSupport, DynamicMonitor, ExternalContext, HypersonicDatabase, InstantDBDatabase, J2eeDeployer, JDBCDataSourceLoader, JdbcProvider, JMSProviderLoader, JMXAdaptorService, JNDIView, MailService, NamingAlias, NamingService, RawXADataSourceLoader, RMIConnectorService, SchedulableExample, Scheduler, ServerSessionPoolLoader, TransactionManagerService, TransactionManagerService, WebService, XADataSourceLoader

public abstract class ServiceMBeanSupport
extends javax.management.NotificationBroadcasterSupport
implements ServiceMBean, javax.management.MBeanRegistration

An abstract base class JBoss services can subclass to implement a service that conforms to the ServiceMBean interface. Subclasses must override `getName` method and should override `initService`, `startService`, `stopService`, `destroyService` as approriate.

Version:
  $Revision: 1.13.4.5 $
Author:
  Rickard Öberg (rickard.oberg@telkel.com), Scott.Stark@jboss.org
See Also:
  `ServiceMBean`

Field Summary
`protected Logger` `log`
`protected javax.management.MBeanServer` `server`

Fields inherited from interface org.jboss.util.ServiceMBean
`STARTED, STARTING, states, STOPPED, STOPPING`

Constructor Summary
`ServiceMBeanSupport()`

Method Summary
`void` `destroy()`
`protected void` `destroyService()`
`abstract java.lang.String` `getName()`
`protected javax.management.ObjectName` `getObjectName(javax.management.MBeanServer server, javax.management.ObjectName name)`
`javax.management.MBeanServer` `getServer()`
`int` `getState()`
`java.lang.String` `getStateString()`
`void` `init()`
`protected void` `initService()`
`protected int` `nextSequenceNumber()`
`void` `postDeregister()`
`void` `postRegister(java.lang.Boolean registrationDone)`
`void` `preDeregister()`
`javax.management.ObjectName` `preRegister(javax.management.MBeanServer server, javax.management.ObjectName name)`
`void` `start()`
`protected void` `startService()`
`void` `stop()`
`protected void` `stopService()`

Methods inherited from class javax.management.NotificationBroadcasterSupport
`addNotificationListener, getNotificationInfo, removeNotificationListener, sendNotification`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### server

    protected javax.management.MBeanServer server

### log

    protected Logger log

Constructor Detail

### ServiceMBeanSupport

    public ServiceMBeanSupport()

Method Detail

### getName

    public abstract java.lang.String getName()

  Specified by:
    `getName` in interface `ServiceMBean`

### getServer

    public javax.management.MBeanServer getServer()

### getState

    public int getState()

  Specified by:
    `getState` in interface `ServiceMBean`

### getStateString

    public java.lang.String getStateString()

  Specified by:
    `getStateString` in interface `ServiceMBean`

### init

    public void init()
              throws java.lang.Exception

  Specified by:
    `init` in interface `Service`

### start

    public void start()
               throws java.lang.Exception

  Specified by:
    `start` in interface `Service`

### stop

    public void stop()

  Specified by:
    `stop` in interface `Service`

### destroy

    public void destroy()

  Specified by:
    `destroy` in interface `Service`

### preRegister

    public javax.management.ObjectName preRegister(javax.management.MBeanServer server,
                                                   javax.management.ObjectName name)
                                            throws java.lang.Exception

  Specified by:
    `preRegister` in interface `javax.management.MBeanRegistration`

### postRegister

    public void postRegister(java.lang.Boolean registrationDone)

  Specified by:
    `postRegister` in interface `javax.management.MBeanRegistration`

### preDeregister

    public void preDeregister()
                       throws java.lang.Exception

  Specified by:
    `preDeregister` in interface `javax.management.MBeanRegistration`

### postDeregister

    public void postDeregister()

  Specified by:
    `postDeregister` in interface `javax.management.MBeanRegistration`

### getObjectName

    protected javax.management.ObjectName getObjectName(javax.management.MBeanServer server,
                                                        javax.management.ObjectName name)
                                                 throws javax.management.MalformedObjectNameException

### initService

    protected void initService()
                        throws java.lang.Exception

### startService

    protected void startService()
                         throws java.lang.Exception

### stopService

    protected void stopService()
                        throws java.lang.Exception

### destroyService

    protected void destroyService()
                           throws java.lang.Exception

### nextSequenceNumber

    protected int nextSequenceNumber()

Copyright © 2000 The JBoss Organization. All Rights Reserved.