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:
MBeanServerBuilder
is used.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.MBeanServerBuilder
, then the value is used to create
a new instance.Modifier and Type | Method and Description |
---|---|
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.
|
public static MBeanServer createMBeanServer()
"DefaultDomain"
. The default domain name is
used when the domain name specified by the user is nullfindMBeanServer(java.lang.String)
.
Calling this method is equivalent to calling
createMBeanServer(String)
with a null
value.
MBeanServer
instance.SecurityException
- if a security manager exists and the
caller's permissions don't imply MBeanServerPermission(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
MBeanServerBuilder.newMBeanServerDelegate()
or MBeanServerBuilder#newMBeanServer()
ClassCastException
- if the property
javax.management.builder.initial
exists but names a class which is not a subclass
of MBeanServerBuilder
.createMBeanServer(String)
public static MBeanServer createMBeanServer(String domain)
"DefaultDomain"
if this is null
.
The default domain name is used when the domain name specified by
the user is nullfindMBeanServer(java.lang.String)
.
domain
- the default domain name of the server.MBeanServer
instance.SecurityException
- if a security manager exists and the
caller's permissions don't imply MBeanServerPermission(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
MBeanServerBuilder.newMBeanServerDelegate()
or MBeanServerBuilder#newMBeanServer()
ClassCastException
- if the property
javax.management.builder.initial
exists but names a class which is not a subclass
of MBeanServerBuilder
.public static ArrayList<MBeanServer> findMBeanServer(String id)
id
is null
,
a list of all registered servers. A registered server is one that
was created using createMBeanServer()
or
createMBeanServer(String)
and has not yet been released
using releaseMBeanServer(MBeanServer)
.id
- the id of the server to retrieve, or null
to return all servers.MBeanServer
s.SecurityException
- if a security manager exists and the
caller's permissions don't imply MBeanServerPermission(String)
("findMBeanServer")public static ClassLoaderRepository getClassLoaderRepository(MBeanServer server)
MBeanServer.getClassLoaderRepository()
on the given server.server
- the server whose class loader repository should be
retrieved.NullPointerException
- if server
is null
.SecurityException
- if a security manager exists and the
caller's permissions don't imply {@link
MBeanPermission(String,String,ObjectName,String)
MBeanPermission(null, null, null,
"getClassLoaderRepository")
public static MBeanServer newMBeanServer()
"DefaultDomain"
. The default domain name is
used when the domain name specified by the user is nullfindMBeanServer(java.lang.String)
.
Calling this method is equivalent to calling
newMBeanServer(String)
with a null
value.
MBeanServer
instance.SecurityException
- if a security manager exists and the
caller's permissions don't imply MBeanServerPermission(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
MBeanServerBuilder.newMBeanServerDelegate()
or MBeanServerBuilder#newMBeanServer()
ClassCastException
- if the property
javax.management.builder.initial
exists but names a class which is not a subclass
of MBeanServerBuilder
.newMBeanServer(String)
public static MBeanServer newMBeanServer(String domain)
"DefaultDomain"
if this is null
.
The default domain name is used when the domain name specified by
the user is nullfindMBeanServer(java.lang.String)
.
domain
- the default domain name of the server.MBeanServer
instance.SecurityException
- if a security manager exists and the
caller's permissions don't imply MBeanServerPermission(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
MBeanServerBuilder.newMBeanServerDelegate()
or MBeanServerBuilder#newMBeanServer()
ClassCastException
- if the property
javax.management.builder.initial
exists but names a class which is not a subclass
of MBeanServerBuilder
.public static void releaseMBeanServer(MBeanServer server)
server
- the server to remove.IllegalArgumentException
- if a reference to the server is not
held (i.e. it wasn't created by
createMBeanServer(String)
or this method has already been called
on it.SecurityException
- if a security manager exists and the
caller's permissions don't imply MBeanServerPermission(String)
("releaseMBeanServer")