com.adventnet.adaptors.rmi
Class RemoteMBeanServerImpl

java.lang.Object
  extended by java.rmi.server.RemoteObject
      extended by java.rmi.server.RemoteServer
          extended by com.adventnet.adaptors.rmi.RemoteMBeanServerImpl
All Implemented Interfaces:
RemoteMBeanServer, java.io.Serializable, java.rmi.Remote

public class RemoteMBeanServerImpl
extends java.rmi.server.RemoteServer
implements RemoteMBeanServer

This class acts as the factory for the RMI Adaptor clients.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class java.rmi.server.RemoteObject
ref
 
Constructor Summary
RemoteMBeanServerImpl(javax.management.MBeanServer server)
          This one Arg constructor gets the mbean server reference and Initialises the UserContext with default values.
 
Method Summary
 void addRemoteNotificationListener(javax.management.ObjectName name, javax.management.ObjectName listener, RemoteNotificationFilter filter, java.lang.Object handback)
          Enables a couple (listener,handback) for a registered MBean to be added using this client through the relevant adaptor.
 void addRemoteNotificationListener(javax.management.ObjectName name, RemoteNotificationListener listener, RemoteNotificationFilter filter, java.lang.Object handback)
          Enables a couple (listener,handback) for a registered MBean to be added.
 void addRemoteNotificationListener(java.lang.String id, RemoteNotificationListener listener, RemoteNotificationFilter filter, java.lang.Object handback)
          Method to add the notification listner that is interested in receiving notifications from the RMIAdaptor.
 void addUser(com.adventnet.agent.security.UserContext userContext)
          Adds the users specified in the UserContext to the Authentication List of the Adaptor
 void authenticate(com.adventnet.agent.security.UserContext userContext)
          Authenticates the users specified in the UserContext
 javax.management.ObjectInstance createMBean(java.lang.String className, javax.management.ObjectName name)
          Instantiates and registers a MBean with the MBeanServer through this service(adaptor).
 javax.management.ObjectInstance createMBean(java.lang.String className, javax.management.ObjectName name, java.lang.Object[] params, java.lang.String[] signature)
          Instantiates and registers a MBean with the MBeanServer through this service(adaptor).
 javax.management.ObjectInstance createMBean(java.lang.String className, javax.management.ObjectName name, javax.management.ObjectName loaderName)
          Instantiates and registers a MBean with the MBeanServer through this service(adaptor).
 javax.management.ObjectInstance createMBean(java.lang.String className, javax.management.ObjectName name, javax.management.ObjectName loaderName, java.lang.Object[] params, java.lang.String[] signature)
          Instantiates and registers a MBean with the MBeanServer through this service(adaptor).
 void enableAuthentication(boolean authenticate)
          Enables Authentication for the RMI Adaptor
 void enableAuthorisation(boolean authorise)
          Enables Authorisation for the RMI Adaptor
 javax.management.MBeanInfo getAccessViewMBeanInfo(javax.management.MBeanInfo mbeanInfo, javax.management.ObjectName name)
           
 java.lang.Object getAttribute(javax.management.ObjectName name, java.lang.String attribute)
          Remote method call which gets the value of a specific attribute of a named MBean.
 javax.management.AttributeList getAttributes(javax.management.ObjectName name, java.lang.String[] attributes)
          Remote method call which enables the values of several attributes of a named MBean.
 java.lang.String getDefaultDomain()
          Returns the default domain used for naming the MBean.
 java.lang.Integer getMBeanCount()
          Returns the number of MBeans controlled by the MBeanServer through this service(adaptor).
 javax.management.MBeanInfo getMBeanInfo(javax.management.ObjectName name)
          Remote method call which discovers the attributes and operations that an MBean exposes for management.
 javax.management.ObjectInstance getObjectInstance(javax.management.ObjectName name)
          Gets the ObjectInstance for a given MBean registered with the MBean server through this service(adaptor).
 java.lang.String getPersistantName()
          Returns the name of the serialized file in which the UserContext details are stored.
 java.util.Set getViewAccessMBeans(java.util.Set names)
           
 java.util.Set getViewAccessNames(java.util.Set names)
           
 void handleNotificationFromRMIAdaptor(javax.management.Notification notif)
           
 java.lang.Object instantiate(java.lang.String className)
          Instantiates an object using the list of all class loaders registered in the MBean server (Default Loader Repository) through this service(adaptor).
 java.lang.Object instantiate(java.lang.String className, java.lang.Object[] params, java.lang.String[] signature)
          Instantiates an object using the list of all class loaders registered in the MBean server (Default Loader Repository) through this service(adaptor).
 java.lang.Object instantiate(java.lang.String className, javax.management.ObjectName loaderName)
          Instantiates an object using the class Loader specified by its ObjectName through this service(adaptor).
 java.lang.Object instantiate(java.lang.String className, javax.management.ObjectName loaderName, java.lang.Object[] params, java.lang.String[] signature)
          Instantiates an object through this service(adaptor).
 java.lang.Object invoke(javax.management.ObjectName name, java.lang.String actionName, java.lang.Object[] params, java.lang.String[] signature)
          Remote method call which invokes an action on an MBean.
 boolean isAuthenticationEnabled()
          Determines whether Authentication is enabled or not
 boolean isInstanceOf(javax.management.ObjectName name, java.lang.String className)
          Returns true if the MBean specified is an instance of the specified class, false otherwise.
 boolean isRegistered(javax.management.ObjectName name)
          Checks whether an MBean, identified by its object name, is already registered with the MBeanServer through this service(adaptor).
 java.util.Set queryMBeans(javax.management.ObjectName name, javax.management.QueryExp query)
          Remote method call to get the MBeans controlled by the MBeanServer.
 java.util.Set queryNames(javax.management.ObjectName name, javax.management.QueryExp query)
          Remote method call to get the names of MBeans controlled by the MBeanServer.
 javax.management.ObjectInstance registerAsModelMBean(java.lang.Object mbean, java.lang.String xmlFile, javax.management.ObjectName objectName)
          Remote method call which registers the MBean.
 javax.management.ObjectInstance registerMBean(java.lang.Object object, javax.management.ObjectName name)
          Registers a pre-existing object as an MBean with the MBeanServer through this service(adaptor).
 javax.management.ObjectInstance registerMBean(java.lang.String className, javax.management.ObjectName objectName)
          Remote method call which registers a pre-existing object as an MBean with the MBeanServer.
 void removeRemoteNotificationListener(javax.management.ObjectName name, javax.management.ObjectName listener)
          Enables a remote listener for an MBean to be removed.
 void removeRemoteNotificationListener(javax.management.ObjectName name, RemoteNotificationListener listener)
          Enables a remote listener for an MBean to be removed.
 void removeRemoteNotificationListener(java.lang.String id)
          Allows a listener to be removed from listening to RMI Adaptor notifications
 void removeUser(com.adventnet.agent.security.UserContext userContext)
          Removed the users specified in the UserContext from the Authentication List of the Adaptor
 void setAttribute(javax.management.ObjectName name, javax.management.Attribute attribute)
          Remote method call which sets the value of a specific attribute of a named MBean.
 javax.management.AttributeList setAttributes(javax.management.ObjectName name, javax.management.AttributeList attributes)
          Remote method call which sets the values of several attributes of a named MBean.
 void setPersistantName(java.lang.String fileName)
          Sets the file name of the serialized file in which the UserContext details are stored.
 void unregisterMBean(javax.management.ObjectName objectName)
          Remote method call which de-registers an MBean from the MBeanServer.
 
Methods inherited from class java.rmi.server.RemoteServer
getClientHost, getLog, setLog
 
Methods inherited from class java.rmi.server.RemoteObject
equals, getRef, hashCode, toString, toStub
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RemoteMBeanServerImpl

public RemoteMBeanServerImpl(javax.management.MBeanServer server)
                      throws java.rmi.RemoteException
This one Arg constructor gets the mbean server reference and Initialises the UserContext with default values.

Parameters:
server - The MBeanServer reference
Throws:
java.rmi.RemoteException
Method Detail

authenticate

public void authenticate(com.adventnet.agent.security.UserContext userContext)
                  throws com.adventnet.agent.security.AuthenticationException,
                         java.rmi.RemoteException
Description copied from interface: RemoteMBeanServer
Authenticates the users specified in the UserContext

Specified by:
authenticate in interface RemoteMBeanServer
Parameters:
userContext - The UserContext containing the users to be authenticated
Throws:
com.adventnet.agent.security.AuthenticationException - when Authentication fails for a user
java.rmi.RemoteException

addUser

public void addUser(com.adventnet.agent.security.UserContext userContext)
Adds the users specified in the UserContext to the Authentication List of the Adaptor

Parameters:
userContext - The UserContext to be added

removeUser

public void removeUser(com.adventnet.agent.security.UserContext userContext)
Removed the users specified in the UserContext from the Authentication List of the Adaptor

Parameters:
userContext - The UserContext to be removed

setPersistantName

public void setPersistantName(java.lang.String fileName)
Sets the file name of the serialized file in which the UserContext details are stored.

Parameters:
fileName - The name of the file in which the UserContext details are stored

getPersistantName

public java.lang.String getPersistantName()
Returns the name of the serialized file in which the UserContext details are stored.

Returns:
The name of the file in which the UserContext details are stored

enableAuthentication

public void enableAuthentication(boolean authenticate)
Enables Authentication for the RMI Adaptor

Parameters:
authenticate - Enables Authentication if the value is true

isAuthenticationEnabled

public boolean isAuthenticationEnabled()
                                throws java.rmi.RemoteException
Determines whether Authentication is enabled or not

Specified by:
isAuthenticationEnabled in interface RemoteMBeanServer
Returns:
true if Authentication is enabled else returns false
Throws:
java.rmi.RemoteException

enableAuthorisation

public void enableAuthorisation(boolean authorise)
Enables Authorisation for the RMI Adaptor

Parameters:
authorise - Enables Authorisation if the value is true

queryMBeans

public java.util.Set queryMBeans(javax.management.ObjectName name,
                                 javax.management.QueryExp query)
                          throws java.rmi.RemoteException
Remote method call to get the MBeans controlled by the MBeanServer. This method allows any of the following to be obtained: All MBeans, a set of MBeans specified by pattern matching on the ObjectName and/or a Query expression, a specific MBean. When the object name is null or empty, all objects are to be selected (and filtered if a query is specified). It returns the set of ObjectInstance objects (containing the ObjectName and the Java Class name) for the selected MBeans.

Specified by:
queryMBeans in interface RemoteMBeanServer
Parameters:
name - The object name pattern identifying the MBeans to be retrieved. If null orempty all the MBeans registered will be retrieved.
query - The query expression to be applied for selecting MBeans.
Returns:
A set containing the ObjectInstance objects for the selected MBeans. If no MBean satisfies the query an empty list is returned.
Throws:
java.rmi.RemoteException

queryNames

public java.util.Set queryNames(javax.management.ObjectName name,
                                javax.management.QueryExp query)
                         throws java.rmi.RemoteException
Remote method call to get the names of MBeans controlled by the MBeanServer. This method enables any of the following to be obtained: The names of all MBeans, the names of a set of MBeans specified by pattern matching on the ObjectName and/or a Query expression, a specific MBean name(equivalent to testing whether an MBean is registered). When the object name is null or empty, all objects are to be selected (and filtered if a query is specified). It returns the set of ObjectNames for the MBeans selected.

Specified by:
queryNames in interface RemoteMBeanServer
Parameters:
name - The object name pattern identifying the MBean names to be retrieved. If null or empty, the name of all registered MBeans will be retrieved.
query - The query expression to be applied for selecting MBeans.
Returns:
A set containing the ObjectNames for the MBeans selected. If no MBean satisfies the query an empty list is returned.
Throws:
java.rmi.RemoteException

registerMBean

public javax.management.ObjectInstance registerMBean(java.lang.String className,
                                                     javax.management.ObjectName objectName)
                                              throws java.rmi.RemoteException
Remote method call which registers a pre-existing object as an MBean with the MBeanServer. If the object name given is null, the MBean may automatically provide its own name by implementing the MBeanRegistration interface. The call returns the MBean name.

Specified by:
registerMBean in interface RemoteMBeanServer
Parameters:
className - The classname of the Java Bean to be registered as an MBean.
objectName - The object name of the MBean. May be null.
Returns:
The ObjectInstance for the MBean that has been registered.
Throws:
java.rmi.RemoteException

registerAsModelMBean

public javax.management.ObjectInstance registerAsModelMBean(java.lang.Object mbean,
                                                            java.lang.String xmlFile,
                                                            javax.management.ObjectName objectName)
                                                     throws java.rmi.RemoteException
Remote method call which registers the MBean. If the passed mbean object is String instance (i.e classname), then this mbean will be instantiated locally as modelmbean in the mbean server and registered. If not instance of java.lang.String class, then this object will be considered as remote modelmbean object. If the mbean object is java.lang.String instance, then the xmlFile means the path of the xml file name locally in the mbean server. If not then the String object of xmlFile will contain the complete xml file.

Specified by:
registerAsModelMBean in interface RemoteMBeanServer
Parameters:
mbean - The mbean object which is to be instantiated locally as modelmbean in the mbean server and registered.
xmlFile - The path of the xml file name locally in the mbean server.
objectName - The object name of the MBean. May be null.
Returns:
The ObjectInstance for the MBean that has been registered.
Throws:
java.rmi.RemoteException - The object passed in parameter is null or no object name is specified.

unregisterMBean

public void unregisterMBean(javax.management.ObjectName objectName)
                     throws java.rmi.RemoteException
Remote method call which de-registers an MBean from the MBeanServer. The MBean is identified by its object name. Once the method has been invoked, the MBean may no longer be accessed by its object name.

Specified by:
unregisterMBean in interface RemoteMBeanServer
Parameters:
objectName - The object name of the MBean to be de-registered.
Throws:
java.rmi.RemoteException

getAttribute

public java.lang.Object getAttribute(javax.management.ObjectName name,
                                     java.lang.String attribute)
                              throws java.rmi.RemoteException
Remote method call which gets the value of a specific attribute of a named MBean. The MBean is identified by its object name.

Specified by:
getAttribute in interface RemoteMBeanServer
Parameters:
name - The object name of the MBean from which the attribute is to be retrieved.
attribute - A String specifying the name of the attribute to be retrieved.
Returns:
The value of the retrieved attribute.
Throws:
java.rmi.RemoteException

getAttributes

public javax.management.AttributeList getAttributes(javax.management.ObjectName name,
                                                    java.lang.String[] attributes)
                                             throws java.rmi.RemoteException
Remote method call which enables the values of several attributes of a named MBean. The MBean is identified by its object name.

Specified by:
getAttributes in interface RemoteMBeanServer
Parameters:
name - The object name of the MBean from which the attributes are to be retrieved.
attributes - A list of the attributes to be retrieved.
Returns:
The list of the retrieved attributes.
Throws:
java.rmi.RemoteException

invoke

public java.lang.Object invoke(javax.management.ObjectName name,
                               java.lang.String actionName,
                               java.lang.Object[] params,
                               java.lang.String[] signature)
                        throws java.rmi.RemoteException
Remote method call which invokes an action on an MBean.

Specified by:
invoke in interface RemoteMBeanServer
Parameters:
name - The object name of the MBean on which the method is to be invoked.
actionName - The name of the action to be invoked.
params - An array containing the parameters to be set when the action is invoked
signature - An array containing the signature of the action. The class objects will be loaded using the same class loader as the one used for loading the MBean on which the action was invoked.
Returns:
The object returned by the action, which represents the result ofinvoking the action on the specified MBean.
Throws:
java.rmi.RemoteException

setAttribute

public void setAttribute(javax.management.ObjectName name,
                         javax.management.Attribute attribute)
                  throws java.rmi.RemoteException
Remote method call which sets the value of a specific attribute of a named MBean. The MBean is identified by its object name.

Specified by:
setAttribute in interface RemoteMBeanServer
Parameters:
name - The name of the MBean within which the attribute is to be set.
attribute - The identification of the attribute to be set and the value it is to be set to.
Throws:
java.rmi.RemoteException - The specified MBean is not registered in the MBeanServer.

setAttributes

public javax.management.AttributeList setAttributes(javax.management.ObjectName name,
                                                    javax.management.AttributeList attributes)
                                             throws java.rmi.RemoteException
Remote method call which sets the values of several attributes of a named MBean. The MBean is identified by its object name.

Specified by:
setAttributes in interface RemoteMBeanServer
Parameters:
name - The object name of the MBean within which the attributes are to be set.
attributes - A list of attributes: The identification of the attributes to be set and the values they are to be set to.
Returns:
The list of attributes that were set, with their new values.
Throws:
java.rmi.RemoteException

getMBeanInfo

public javax.management.MBeanInfo getMBeanInfo(javax.management.ObjectName name)
                                        throws java.rmi.RemoteException
Remote method call which discovers the attributes and operations that an MBean exposes for management. When flatten is false, inherited attributes are not returned.

Specified by:
getMBeanInfo in interface RemoteMBeanServer
Parameters:
name - The name of the MBean to analyze
Returns:
An instance of MBeanInfo allowing to retrieve all attributes and operations of this MBean.
Throws:
java.rmi.RemoteException

getAccessViewMBeanInfo

public javax.management.MBeanInfo getAccessViewMBeanInfo(javax.management.MBeanInfo mbeanInfo,
                                                         javax.management.ObjectName name)

addRemoteNotificationListener

public void addRemoteNotificationListener(javax.management.ObjectName name,
                                          RemoteNotificationListener listener,
                                          RemoteNotificationFilter filter,
                                          java.lang.Object handback)
                                   throws java.rmi.RemoteException
Enables a couple (listener,handback) for a registered MBean to be added.

Specified by:
addRemoteNotificationListener in interface RemoteMBeanServer
Parameters:
name - the ObjectName of the MBean to analyze
listener - The listener object which will handles notifications emitted by the registered MBean.
filter - The filter object. If not specified, no filtering will be performed before handling notifications.
handback - The context to be sent to the listener when a notification is emitted.
Throws:
java.rmi.RemoteException

addRemoteNotificationListener

public void addRemoteNotificationListener(javax.management.ObjectName name,
                                          javax.management.ObjectName listener,
                                          RemoteNotificationFilter filter,
                                          java.lang.Object handback)
                                   throws java.rmi.RemoteException
Enables a couple (listener,handback) for a registered MBean to be added using this client through the relevant adaptor.

Specified by:
addRemoteNotificationListener in interface RemoteMBeanServer
Parameters:
name - The name of the MBean on which the listener should be added.
listener - The listener name which will handles notifications emitted by the registered MBean.
filter - The filter object. If not specified, no filtering will be performed before handling notifications.
handback - The context to be sent to the listener when a notification is emitted.
Throws:
java.rmi.RemoteException

addRemoteNotificationListener

public void addRemoteNotificationListener(java.lang.String id,
                                          RemoteNotificationListener listener,
                                          RemoteNotificationFilter filter,
                                          java.lang.Object handback)
Method to add the notification listner that is interested in receiving notifications from the RMIAdaptor. RMIAdaptor by default will listen for notifications from all the MBeans.

Specified by:
addRemoteNotificationListener in interface RemoteMBeanServer
Parameters:
listener - listener interested in receiving notifications from the RMI Adaptor
filter - filter criteria for sending the notifications
handback - the handback object
id - Unique ID for the listener

removeRemoteNotificationListener

public void removeRemoteNotificationListener(java.lang.String id)
                                      throws java.rmi.RemoteException
Allows a listener to be removed from listening to RMI Adaptor notifications

Specified by:
removeRemoteNotificationListener in interface RemoteMBeanServer
Parameters:
id - unique id for the listener
Throws:
java.rmi.RemoteException

handleNotificationFromRMIAdaptor

public void handleNotificationFromRMIAdaptor(javax.management.Notification notif)

removeRemoteNotificationListener

public void removeRemoteNotificationListener(javax.management.ObjectName name,
                                             RemoteNotificationListener listener)
                                      throws java.rmi.RemoteException
Enables a remote listener for an MBean to be removed. All couple (listener, handback) are removed.

Specified by:
removeRemoteNotificationListener in interface RemoteMBeanServer
Parameters:
name - the ObjectName of the MBean to analyze
listener - The listener object which will handles notifications emitted by the registered MBean.
Throws:
java.rmi.RemoteException

removeRemoteNotificationListener

public void removeRemoteNotificationListener(javax.management.ObjectName name,
                                             javax.management.ObjectName listener)
                                      throws java.rmi.RemoteException
Enables a remote listener for an MBean to be removed. All couple (listener, handback) are removed.

Specified by:
removeRemoteNotificationListener in interface RemoteMBeanServer
Parameters:
name - the ObjectName of the MBean to analyze
listener - The listener object name which will handles notifications emitted by the registered MBean.
Throws:
java.rmi.RemoteException

createMBean

public javax.management.ObjectInstance createMBean(java.lang.String className,
                                                   javax.management.ObjectName name)
                                            throws java.rmi.RemoteException
Instantiates and registers a MBean with the MBeanServer through this service(adaptor). The MBean server will use the DefaultLoaderRepository to load the class of the MBean. An object name is associated to the MBean. If the object name given is null, the MBean can automatically provide its own name by implementing the MBeanRegistration interface. The call returns a reference to the new instance and its object name.

Specified by:
createMBean in interface RemoteMBeanServer
Parameters:
className - The class name of the MBean to be instantiated.
name - The object name of the MBean. May be null.
Returns:
An ObjectInstance, containing the ObjectName and the Java class name of the newly instantiated MBean.
Throws:
java.rmi.RemoteException - The className passed in parameter is null, the ObjectName passed in parameter contains a pattern or no ObjectName is specified for the MBean.

createMBean

public javax.management.ObjectInstance createMBean(java.lang.String className,
                                                   javax.management.ObjectName name,
                                                   java.lang.Object[] params,
                                                   java.lang.String[] signature)
                                            throws java.rmi.RemoteException
Instantiates and registers a MBean with the MBeanServer through this service(adaptor). The MBean server will use the DefaultLoaderRepository to load the class of the MBean. An object name is associated to the MBean. If the object name given is null, the MBean can automatically provide its own name by implementing the MBeanRegistration interface. The call returns a reference to the new instance and its object name.

Specified by:
createMBean in interface RemoteMBeanServer
Parameters:
className - The class name of the MBean to be instantiated.
name - The object name of the MBean. May be null.
params - An array containing the parameters of the constructor to be invoked.
signature - An array containing the signature of the constructor to be invoked.
Returns:
An ObjectInstance, containing the ObjectName and the Java class name of the newly instantiated MBean.
Throws:
java.rmi.RemoteException - Wraps the below exception
javax.management.ReflectionException Wraps Wraps a ClassNotFoundException or a java.lang.Exception that occured trying to invoke the MBean's constructor.
javax.management.InstanceAlreadyExistsException The MBean is already under the control of the MBeanServer.
javax.management.MBeanRegistrationException The preRegister (MBeanRegistration interface) method of the MBean has thrown an exception. The MBean will not be registered.
javax.management.MBeanException The constructor of the MBean has thrown an exception
javax.management.RuntimeOperationsException Wraps a java.lang.IllegalArgumentException: The className passed in parameter is null, the ObjectName passed in parameter contains a pattern or no ObjectName is specified for the MBean.

createMBean

public javax.management.ObjectInstance createMBean(java.lang.String className,
                                                   javax.management.ObjectName name,
                                                   javax.management.ObjectName loaderName)
                                            throws java.rmi.RemoteException
Instantiates and registers a MBean with the MBeanServer through this service(adaptor). The class loader to be used is identified by its object name. An object name is associated to the MBean. If the object name of the loader is null, the system ClassLoader will be used.If the MBean's object name given is null, the MBean can automatically provide its own name by implementing the MBeanRegistration interface. The call returns a reference to the new instance and its object name.

Specified by:
createMBean in interface RemoteMBeanServer
Parameters:
className - The class name of the MBean to be instantiated.
name - The object name of the MBean. May be null.
loaderName - The object name of the class loader to be used.
Returns:
An ObjectInstance, containing the ObjectName and the Java class name of the newly instantiated MBean.
Throws:
java.rmi.RemoteException - Wraps the below exceptions
javax.management.InstanceAlreadyExistsException The MBean is already under the control of the MBeanServer.
javax.management.MBeanRegistrationException The preRegister (MBeanRegistration interface) method of the MBean has thrown an exception. The MBean will not be registered.
javax.management.MBeanException The constructor of the MBean has thrown an exception
javax.management.NotCompliantMBeanException This class is not an JMX compliant MBean
javax.management.InstanceNotFoundException The specified class loader is not registered in the MBeanServer.
javax.management.RuntimeOperationsException Wraps a java.lang.IllegalArgumentException: The className passed in parameter is null, the ObjectName passed in parameter contains a pattern or no ObjectName is specified for the MBean.

createMBean

public javax.management.ObjectInstance createMBean(java.lang.String className,
                                                   javax.management.ObjectName name,
                                                   javax.management.ObjectName loaderName,
                                                   java.lang.Object[] params,
                                                   java.lang.String[] signature)
                                            throws java.rmi.RemoteException
Instantiates and registers a MBean with the MBeanServer through this service(adaptor). The class loader to be used is identified by its object name. An object name is associated to the MBean. If the object name of the loader is not specified, the system ClassLoader will be used.If the MBean object name given is null, the MBean can automatically provide its own name by implementing the MBeanRegistration interface. The call returns a reference to the new instance and its object name.

Specified by:
createMBean in interface RemoteMBeanServer
Parameters:
className - The class name of the MBean to be instantiated.
name - The object name of the MBean. May be null.
params - An array containing the parameters of the constructor to be invoked.
signature - An array containing the signature of the constructor to be invoked.
loaderName - The object name of the class loader to be used.
Returns:
An ObjectInstance, containing the ObjectName and the Java class name of the newly instantiated MBean.
Throws:
java.rmi.RemoteException - Wraps the below exceptions
javax.management.ReflectionException Wraps Wraps a ClassNotFoundException or a java.lang.Exception that occured trying to invoke the MBean's constructor.
javax.management.InstanceAlreadyExistsException The MBean is already under the control of the MBeanServer.
javax.management.MBeanRegistrationException The preRegister (MBeanRegistration interface) method of the MBean has thrown an exception. The MBean will not be registered.
javax.management.MBeanException The constructor of the MBean has thrown an exception
javax.management.RuntimeOperationsException Wraps a java.lang.IllegalArgumentException: The className passed in parameter is null, the ObjectName passed in parameter contains a pattern or no ObjectName is specified for the MBean.

getDefaultDomain

public java.lang.String getDefaultDomain()
                                  throws java.rmi.RemoteException
Returns the default domain used for naming the MBean. through this service(adaptor). The default domain name is used as the domain part in the ObjectName of MBeans if no domain is specified by the user.

Specified by:
getDefaultDomain in interface RemoteMBeanServer
Returns:
The default domain used for naming the MBean. through this service(adaptor).
Throws:
java.rmi.RemoteException

getMBeanCount

public java.lang.Integer getMBeanCount()
                                throws java.rmi.RemoteException
Returns the number of MBeans controlled by the MBeanServer through this service(adaptor).

Specified by:
getMBeanCount in interface RemoteMBeanServer
Returns:
The number of MBeans controlled by the MBeanServer through this service(adaptor).
Throws:
java.rmi.RemoteException

getObjectInstance

public javax.management.ObjectInstance getObjectInstance(javax.management.ObjectName name)
                                                  throws java.rmi.RemoteException
Gets the ObjectInstance for a given MBean registered with the MBean server through this service(adaptor).

Specified by:
getObjectInstance in interface RemoteMBeanServer
Parameters:
name - The object name of the MBean.
Returns:
The ObjectInstance associated to the MBean specified by name.
Throws:
java.rmi.RemoteException - Wraps the below exception
javax.management.InstanceNotFoundException The MBean specified is not registered in the MBean server.

instantiate

public java.lang.Object instantiate(java.lang.String className)
                             throws java.rmi.RemoteException
Instantiates an object using the list of all class loaders registered in the MBean server (Default Loader Repository) through this service(adaptor). The object's class should have a public constructor. It returns a reference to the newly created object. The newly created object is not registered in the MBean server.

Specified by:
instantiate in interface RemoteMBeanServer
Parameters:
className - The class name of the object to be instantiated.
Returns:
The newly instantiated object.
Throws:
java.rmi.RemoteException - Wraps the below exception
javax.management.ReflectionException Wraps a ClassNotFoundException or the java.lang.Exception that occured trying to invoke the object's constructor.
javax.management.MBeanException The constructor of the object has thrown an exception
javax.management.RuntimeOperationsException Wraps a java.lang.IllegalArgumentException: The className passed in parameter is null.

instantiate

public java.lang.Object instantiate(java.lang.String className,
                                    java.lang.Object[] params,
                                    java.lang.String[] signature)
                             throws java.rmi.RemoteException
Instantiates an object using the list of all class loaders registered in the MBean server (Default Loader Repository) through this service(adaptor). The object's class should have a public constructor. The call returns a reference to the newly created object. The newly created object is not registered in the MBean server.

Specified by:
instantiate in interface RemoteMBeanServer
Parameters:
className - The class name of the object to be instantiated.
params - An array containing the parameters of the constructor to be invoked.
signature - An array containing the signature of the constructor to be invoked.
Returns:
The newly instantiated object.
Throws:
java.rmi.RemoteException - Wraps the below exception
javax.management.ReflectionException Wraps a ClassNotFoundException or the java.lang.Exception that occured trying to invoke the object's constructor.
javax.management.MBeanException The constructor of the object has thrown an exception
javax.management.RuntimeOperationsException Wraps a java.lang.IllegalArgumentException: The className passed in parameter is null.

instantiate

public java.lang.Object instantiate(java.lang.String className,
                                    javax.management.ObjectName loaderName)
                             throws java.rmi.RemoteException
Instantiates an object using the class Loader specified by its ObjectName through this service(adaptor). If the loader name is null, the ClassLoader that loaded the MBean Server will be used. The object's class should have a public constructor. It returns a reference to the newly created object. The newly created object is not registered in the MBean server.

Specified by:
instantiate in interface RemoteMBeanServer
Parameters:
className - The class name of the object to be instantiated.
loaderName - The object name of the class loader to be used.
Returns:
The newly instantiated object.
Throws:
java.rmi.RemoteException - Wraps the below exception
javax.management.ReflectionException Wraps a ClassNotFoundException or the java.lang.Exception that occured trying to invoke the object's constructor.
javax.management.MBeanException The constructor of the object has thrown an exception
javax.management.InstanceNotFoundException The specified class loader is not registered in the MBeanServer.
javax.management.RuntimeOperationsException Wraps a java.lang.IllegalArgumentException: The className passed in parameter is null.

instantiate

public java.lang.Object instantiate(java.lang.String className,
                                    javax.management.ObjectName loaderName,
                                    java.lang.Object[] params,
                                    java.lang.String[] signature)
                             throws java.rmi.RemoteException
Instantiates an object through this service(adaptor). The class loader to be used is identified by its object name. If the object name of the loader is null, the ClassLoader that loaded the MBean server will be used. The object's class should have a public constructor. The call returns a reference to the newly created object. The newly created object is not registered in the MBean server.

Specified by:
instantiate in interface RemoteMBeanServer
Parameters:
className - The class name of the object to be instantiated.
loaderName - The object name of the class loader to be used.
params - An array containing the parameters of the constructor to be invoked.
signature - An array containing the signature of the constructor to be invoked.
Returns:
The newly instantiated object.
Throws:
java.rmi.RemoteException - Wraps the below exception
javax.management.ReflectionException Wraps a ClassNotFoundException or the java.lang.Exception that occured trying to invoke the object's constructor.
javax.management.MBeanException The constructor of the object has thrown an exception
javax.management.InstanceNotFoundException The specified class loader is not registered in the MBeanServer.
javax.management.RuntimeOperationsException Wraps a java.lang.IllegalArgumentException: The className passed in parameter is null.

isRegistered

public boolean isRegistered(javax.management.ObjectName name)
                     throws java.rmi.RemoteException
Checks whether an MBean, identified by its object name, is already registered with the MBeanServer through this service(adaptor).

Specified by:
isRegistered in interface RemoteMBeanServer
Parameters:
name - The object name of the MBean to be checked.
Returns:
true if the MBean is already controlled by the MBeanServer, false otherwise.
Throws:
javax.management.RuntimeOperationsException - Wraps a java.lang.IllegalArgumentException: The ObjectName parameter is null.
java.rmi.RemoteException

isInstanceOf

public boolean isInstanceOf(javax.management.ObjectName name,
                            java.lang.String className)
                     throws java.rmi.RemoteException
Returns true if the MBean specified is an instance of the specified class, false otherwise.

Specified by:
isInstanceOf in interface RemoteMBeanServer
Parameters:
name - The object name of the MBean to be checked.
className - The name of the class.
Returns:
true if the MBean is the instance of the specified class, false otherwise.
Throws:
java.rmi.RemoteException - Wraps the below exception
InstanceNotFoundException The MBean specified is not registered in the MBeanserver.

registerMBean

public javax.management.ObjectInstance registerMBean(java.lang.Object object,
                                                     javax.management.ObjectName name)
                                              throws java.rmi.RemoteException
Registers a pre-existing object as an MBean with the MBeanServer through this service(adaptor). If the object name given is null, the MBean may automatically provide its own name by implementing the MBeanRegistration interface. The call returns the MBean name.

Specified by:
registerMBean in interface RemoteMBeanServer
Parameters:
object - The Java Bean to be registered as an MBean.
name - The object name of the MBean. May be null.
Returns:
The ObjectInstance for the MBean that has been registered.
Throws:
java.rmi.RemoteException - Wraps the below exception
javax.management.InstanceAlreadyExistsException The MBean is already under the control of the MBeanServer.
javax.management.MBeanRegistrationException The preRegister (MBeanRegistration interface) method of the MBean has thrown an exception. The MBean will not be registered.
javax.management.NotCompliantMBeanException This object is not an JMX compliant MBean
javax.management.RuntimeOperationsException Wraps a java.lang.IllegalArgumentException: The object passed in parameter is null or no object name is specified.

getViewAccessNames

public java.util.Set getViewAccessNames(java.util.Set names)

getViewAccessMBeans

public java.util.Set getViewAccessMBeans(java.util.Set names)