javax.management
public class MBeanServerFactory extends Object
Creates and maintains a set of MBeanServer instances.
Server instances, as of JMX 1.2, are created using a subclass
of MBeanServerBuilder. The exact class used is controlled
by the property javax.management.builder.initial
,
and allows the instances created by MBeanServerBuilder
to be wrapped, thus providing additional functionality.
The property is used as follows:
Thread.currentThread().getContextClassLoader()
, or,
if this is null
, by Class.forName()
.Class.newInstance()
is used to create an instance
of the class. The class must be public and have a public empty
constructor. If an exception is thrown, it is propogated as
a JMRuntimeException and no new server instances may be
created until the property is set to a valid value.Method Summary | |
---|---|
static MBeanServer | createMBeanServer()
Returns a server implementation using the default domain name
of "DefaultDomain" . |
static MBeanServer | createMBeanServer(String domain)
Returns a server implementation using the default domain name
given, or "DefaultDomain" if this is null .
|
static ArrayList<MBeanServer> | findMBeanServer(String id)
Returns the specified server, or, if id is null ,
a list of all registered servers. |
static ClassLoaderRepository | getClassLoaderRepository(MBeanServer server)
Returns the class loader repository used by the specified server.
|
static MBeanServer | newMBeanServer()
Returns a server implementation using the default domain name
of "DefaultDomain" . |
static MBeanServer | newMBeanServer(String domain)
Returns a server implementation using the default domain name
given, or "DefaultDomain" if this is null .
|
static void | releaseMBeanServer(MBeanServer server)
Removes the reference to the specified server, thus allowing it to
be garbage collected.
|
"DefaultDomain"
. The default domain name is
used when the domain name specified by the user is nullMBeanServerFactory.
Calling this method is equivalent to calling
createMBeanServer(String)
with a null
value.
Returns: a new MBeanServer instance.
Throws: SecurityException if a security manager exists and the
caller's permissions don't imply (String)
("createMBeanServer") JMRuntimeException if the property
javax.management.builder.initial
exists but names a class which either can not be
instantiated or provides an implementation that returns
null
from either
newMBeanServerDelegate
or MBeanServerBuilder ClassCastException if the property
javax.management.builder.initial
exists but names a class which is not a subclass
of MBeanServerBuilder.
See Also: createMBeanServer
"DefaultDomain"
if this is null
.
The default domain name is used when the domain name specified by
the user is nullMBeanServerFactory.
Parameters: domain the default domain name of the server.
Returns: a new MBeanServer instance.
Throws: SecurityException if a security manager exists and the
caller's permissions don't imply (String)
("createMBeanServer") JMRuntimeException if the property
javax.management.builder.initial
exists but names a class which either can not be
instantiated or provides an implementation that returns
null
from either
newMBeanServerDelegate
or MBeanServerBuilder ClassCastException if the property
javax.management.builder.initial
exists but names a class which is not a subclass
of MBeanServerBuilder.
id
is null
,
a list of all registered servers. A registered server is one that
was created using createMBeanServer or
createMBeanServer and has not yet been released
using releaseMBeanServer(MBeanServer)
.
Parameters: id the id of the server to retrieve, or null
to return all servers.
Returns: a list of MBeanServers.
Throws: SecurityException if a security manager exists and the
caller's permissions don't imply (String)
("findMBeanServer")
Parameters: server the server whose class loader repository should be retrieved.
Throws: NullPointerException if server
is null
. SecurityException if a security manager exists and the
caller's permissions don't imply (String,String,ObjectName,String)
MBeanPermission(null, null, null,
"getClassLoaderRepository")
"DefaultDomain"
. The default domain name is
used when the domain name specified by the user is nullMBeanServerFactory.
Calling this method is equivalent to calling
newMBeanServer(String)
with a null
value.
Returns: a new MBeanServer instance.
Throws: SecurityException if a security manager exists and the
caller's permissions don't imply (String)
("newMBeanServer") JMRuntimeException if the property
javax.management.builder.initial
exists but names a class which either can not be
instantiated or provides an implementation that returns
null
from either
newMBeanServerDelegate
or MBeanServerBuilder ClassCastException if the property
javax.management.builder.initial
exists but names a class which is not a subclass
of MBeanServerBuilder.
See Also: newMBeanServer
"DefaultDomain"
if this is null
.
The default domain name is used when the domain name specified by
the user is nullMBeanServerFactory.
Parameters: domain the default domain name of the server.
Returns: a new MBeanServer instance.
Throws: SecurityException if a security manager exists and the
caller's permissions don't imply (String)
("newMBeanServer") JMRuntimeException if the property
javax.management.builder.initial
exists but names a class which either can not be
instantiated or provides an implementation that returns
null
from either
newMBeanServerDelegate
or MBeanServerBuilder ClassCastException if the property
javax.management.builder.initial
exists but names a class which is not a subclass
of MBeanServerBuilder.
Parameters: server the server to remove.
Throws: IllegalArgumentException if a reference to the server is not
held (i.e. it wasn't created by
createMBeanServer
or this method has already been called
on it. SecurityException if a security manager exists and the
caller's permissions don't imply (String)
("releaseMBeanServer")