Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jboss.jmx.connector.invoker
Class InvokerAdaptorService

    java.lang.Object
      org.jboss.mx.util.JBossNotificationBroadcasterSupport
          org.jboss.system.ServiceMBeanSupport
              org.jboss.jmx.connector.invoker.InvokerAdaptorService

All Implemented Interfaces:
  InvokerAdaptorServiceMBean, javax.management.MBeanRegistration, javax.management.NotificationBroadcaster, javax.management.NotificationEmitter, org.jboss.mx.server.ServerConstants, org.jboss.system.Service, org.jboss.system.ServiceMBean

public class InvokerAdaptorService
extends org.jboss.system.ServiceMBeanSupport
implements InvokerAdaptorServiceMBean, org.jboss.mx.server.ServerConstants

A JBoss service exposes an invoke(Invocation) operation that maps calls to the ExposedInterface onto the MBeanServer this service is registered with. It is used in conjunction with a proxy factory to expose the MBeanServer to remote clients through arbitrary protocols.

It sets up the correct classloader before unmarshalling the arguments, this relies on the ObjectName being seperate from from the other method arguments to avoid unmarshalling them before the classloader is determined from the ObjectName.

The interface is configurable, it must be similar to MBeanServer, though not necessarily derived from it

The invoker is configurable and must be specified

Version:
  $Revision: 1.4.6.1.2.1 $
Author:
  Adrian Brock, Scott.Stark@jboss.org

Field Summary
`protected HashMap` | `remoteListeners` A HashSet for the registered listeners

Fields inherited from class org.jboss.system.ServiceMBeanSupport
`log, server, SERVICE_CONTROLLER_SIG, serviceName`

Fields inherited from interface org.jboss.jmx.connector.invoker.InvokerAdaptorServiceMBean
`OBJECT_NAME`

Fields inherited from interface org.jboss.system.ServiceMBean
`CREATE_EVENT, CREATED, DESTROY_EVENT, DESTROYED, FAILED, REGISTERED, START_EVENT, STARTED, STARTING, states, STOP_EVENT, STOPPED, STOPPING, UNREGISTERED`

Fields inherited from interface org.jboss.mx.server.ServerConstants
`CLASS_REMOVED, CLASSLOADER, CLASSLOADER_ADDED, CLASSLOADER_REMOVED, DEFAULT_DOMAIN, DEFAULT_LOADER_NAME, DEFAULT_LOADER_REPOSITORY_CLASS, DEFAULT_MBEAN_REGISTRY_CLASS, DEFAULT_MBEAN_SERVER_BUILDER_CLASS, DEFAULT_REQUIRED_MODELMBEAN_CLASS, DEFAULT_SCOPED_REPOSITORY_CLASS, DEFAULT_SCOPED_REPOSITORY_PARSER_CLASS, IMPLEMENTATION_NAME, IMPLEMENTATION_VENDOR, IMPLEMENTATION_VERSION, JMI_DOMAIN, LOADER_REPOSITORY_CLASS_PROPERTY, MBEAN_REGISTRY, MBEAN_REGISTRY_CLASS_PROPERTY, MBEAN_SERVER_BUILDER_CLASS_PROPERTY, MBEAN_SERVER_CONFIGURATION, MBEAN_SERVER_DELEGATE, OPTIMIZE_REFLECTED_DISPATCHER, REQUIRED_MODELMBEAN_CLASS_PROPERTY, SPECIFICATION_NAME, SPECIFICATION_VENDOR, SPECIFICATION_VERSION, UNIFIED_LOADER_REPOSITORY_CLASS`

Constructor Summary
`InvokerAdaptorService()`

Method Summary
`void` | `addNotificationListener(javax.management.ObjectName name, RMINotificationListener listener, javax.management.NotificationFilter filter, Object handback)`
`Class[]` | `getExportedInterfaces()`
`Map` | `getMethodMap()` Expose the service interface mapping as a read-only attribute
`Object` | `invoke(Invocation invocation)` Expose the MBeanServer service via JMX to invokers.
`void` | `removeNotificationListener(javax.management.ObjectName name, RMINotificationListener listener)`
`void` | `setExportedInterfaces(Class[] exportedInterfaces)`
`protected void` | `startService()`
`protected void` | `stopService()`

Methods inherited from class org.jboss.system.ServiceMBeanSupport
`create, createService, destroy, destroyService, getLog, getName, getNextNotificationSequenceNumber, getObjectName, getServer, getServiceName, getState, getStateString, jbossInternalCreate, jbossInternalDescription, jbossInternalDestroy, jbossInternalLifecycle, jbossInternalStart, jbossInternalStop, postDeregister, postRegister, preDeregister, preRegister, start, stop`

Methods inherited from class org.jboss.mx.util.JBossNotificationBroadcasterSupport
`addNotificationListener, getNotificationInfo, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification`

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

Methods inherited from interface org.jboss.system.ServiceMBean
`getName, getState, getStateString, jbossInternalLifecycle`

Methods inherited from interface org.jboss.system.Service
`create, destroy, start, stop`

Field Detail

### remoteListeners

    protected HashMap remoteListeners

  A HashSet for the registered listeners

Constructor Detail

### InvokerAdaptorService

    public InvokerAdaptorService()

Method Detail

### getExportedInterfaces

    public Class[] getExportedInterfaces()

  Specified by:
    `getExportedInterfaces` in interface `InvokerAdaptorServiceMBean`

### setExportedInterfaces

    public void setExportedInterfaces(Class[] exportedInterfaces)

  Specified by:
    `setExportedInterfaces` in interface `InvokerAdaptorServiceMBean`

### startService

    protected void startService()
                         throws Exception

  Throws:
    `Exception`

### stopService

    protected void stopService()
                        throws Exception

  Throws:
    `Exception`

### getMethodMap

    public Map getMethodMap()

  Expose the service interface mapping as a read-only attribute

  Specified by:
    `getMethodMap` in interface `InvokerAdaptorServiceMBean`
  Returns:
    A Map of the MBeanServer

### invoke

    public Object invoke(Invocation invocation)
                  throws Exception

  Expose the MBeanServer service via JMX to invokers.

  Specified by:
    `invoke` in interface `InvokerAdaptorServiceMBean`
  Parameters:
    `invocation` - A pointer to the invocation object
  Returns:
    Return value of method invocation.
  Throws:
    `Exception` - Failed to invoke method.

### addNotificationListener

    public void addNotificationListener(javax.management.ObjectName name,
                                        RMINotificationListener listener,
                                        javax.management.NotificationFilter filter,
                                        Object handback)
                                 throws javax.management.InstanceNotFoundException,
                                        RemoteException

  Throws:
    `javax.management.InstanceNotFoundException`
    `RemoteException`

### removeNotificationListener

    public void removeNotificationListener(javax.management.ObjectName name,
                                           RMINotificationListener listener)
                                    throws javax.management.InstanceNotFoundException,
                                           javax.management.ListenerNotFoundException,
                                           RemoteException

  Throws:
    `javax.management.InstanceNotFoundException`
    `javax.management.ListenerNotFoundException`
    `RemoteException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002 JBoss Group, LLC. All Rights Reserved.