📄 mbeanutils.java
字号:
}
mserver.registerMBean(mbean, oname);
return (mbean);
}
/**
* Create, register, and return an MBean for this
* <code>Loader</code> object.
*
* @param loader The Loader to be managed
*
* @exception Exception if an MBean cannot be created or registered
*/
static DynamicMBean createMBean(Loader loader)
throws Exception {
String mname = createManagedName(loader);
ManagedBean managed = registry.findManagedBean(mname);
if (managed == null) {
Exception e = new Exception("ManagedBean is not found with "+mname);
throw new MBeanException(e);
}
String domain = managed.getDomain();
if (domain == null)
domain = mserver.getDefaultDomain();
DynamicMBean mbean = managed.createMBean(loader);
ObjectName oname = createObjectName(domain, loader);
if( mserver.isRegistered( oname )) {
// side effect: stop it
mserver.unregisterMBean( oname );
}
mserver.registerMBean(mbean, oname);
return (mbean);
}
/**
* Create, register, and return an MBean for this
* <code>Manager</code> object.
*
* @param manager The Manager to be managed
*
* @exception Exception if an MBean cannot be created or registered
*/
static DynamicMBean createMBean(Manager manager)
throws Exception {
String mname = createManagedName(manager);
ManagedBean managed = registry.findManagedBean(mname);
if (managed == null) {
Exception e = new Exception("ManagedBean is not found with "+mname);
throw new MBeanException(e);
}
String domain = managed.getDomain();
if (domain == null)
domain = mserver.getDefaultDomain();
DynamicMBean mbean = managed.createMBean(manager);
ObjectName oname = createObjectName(domain, manager);
if( mserver.isRegistered( oname )) {
mserver.unregisterMBean(oname);
}
mserver.registerMBean(mbean, oname);
return (mbean);
}
/**
* Create, register, and return an MBean for this
* <code>MBeanFactory</code> object.
*
* @param factory The MBeanFactory to be managed
*
* @exception Exception if an MBean cannot be created or registered
*/
static DynamicMBean createMBean(MBeanFactory factory)
throws Exception {
String mname = createManagedName(factory);
ManagedBean managed = registry.findManagedBean(mname);
if (managed == null) {
Exception e = new Exception("ManagedBean is not found with "+mname);
throw new MBeanException(e);
}
String domain = managed.getDomain();
if (domain == null)
domain = mserver.getDefaultDomain();
DynamicMBean mbean = managed.createMBean(factory);
ObjectName oname = createObjectName(domain, factory);
if( mserver.isRegistered(oname )) {
mserver.unregisterMBean(oname);
}
mserver.registerMBean(mbean, oname);
return (mbean);
}
/**
* Create, register, and return an MBean for this
* <code>NamingResources</code> object.
*
* @param resource The NamingResources to be managed
*
* @exception Exception if an MBean cannot be created or registered
*/
static DynamicMBean createMBean(NamingResources resource)
throws Exception {
String mname = createManagedName(resource);
ManagedBean managed = registry.findManagedBean(mname);
if (managed == null) {
Exception e = new Exception("ManagedBean is not found with "+mname);
throw new MBeanException(e);
}
String domain = managed.getDomain();
if (domain == null)
domain = mserver.getDefaultDomain();
DynamicMBean mbean = managed.createMBean(resource);
ObjectName oname = createObjectName(domain, resource);
if( mserver.isRegistered( oname )) {
mserver.unregisterMBean(oname);
}
mserver.registerMBean(mbean, oname);
return (mbean);
}
/**
* Create, register, and return an MBean for this
* <code>Realm</code> object.
*
* @param realm The Realm to be managed
*
* @exception Exception if an MBean cannot be created or registered
*/
static DynamicMBean createMBean(Realm realm)
throws Exception {
String mname = createManagedName(realm);
ManagedBean managed = registry.findManagedBean(mname);
if (managed == null) {
Exception e = new Exception("ManagedBean is not found with "+mname);
throw new MBeanException(e);
}
String domain = managed.getDomain();
if (domain == null)
domain = mserver.getDefaultDomain();
DynamicMBean mbean = managed.createMBean(realm);
ObjectName oname = createObjectName(domain, realm);
if( mserver.isRegistered( oname )) {
mserver.unregisterMBean(oname);
}
mserver.registerMBean(mbean, oname);
return (mbean);
}
/**
* Create, register, and return an MBean for this
* <code>Role</code> object.
*
* @param role The Role to be managed
*
* @exception Exception if an MBean cannot be created or registered
*/
static DynamicMBean createMBean(Role role)
throws Exception {
String mname = createManagedName(role);
ManagedBean managed = registry.findManagedBean(mname);
if (managed == null) {
Exception e = new Exception("ManagedBean is not found with "+mname);
throw new MBeanException(e);
}
String domain = managed.getDomain();
if (domain == null)
domain = mserver.getDefaultDomain();
DynamicMBean mbean = managed.createMBean(role);
ObjectName oname = createObjectName(domain, role);
if( mserver.isRegistered( oname )) {
mserver.unregisterMBean(oname);
}
mserver.registerMBean(mbean, oname);
return (mbean);
}
/**
* Create, register, and return an MBean for this
* <code>Server</code> object.
*
* @param server The Server to be managed
*
* @exception Exception if an MBean cannot be created or registered
*/
static DynamicMBean createMBean(Server server)
throws Exception {
String mname = createManagedName(server);
ManagedBean managed = registry.findManagedBean(mname);
if (managed == null) {
Exception e = new Exception("ManagedBean is not found with "+mname);
throw new MBeanException(e);
}
String domain = managed.getDomain();
if (domain == null)
domain = mserver.getDefaultDomain();
DynamicMBean mbean = managed.createMBean(server);
ObjectName oname = createObjectName(domain, server);
if( mserver.isRegistered( oname )) {
mserver.unregisterMBean(oname);
}
mserver.registerMBean(mbean, oname);
return (mbean);
}
/**
* Create, register, and return an MBean for this
* <code>Service</code> object.
*
* @param service The Service to be managed
*
* @exception Exception if an MBean cannot be created or registered
*/
static DynamicMBean createMBean(Service service)
throws Exception {
String mname = createManagedName(service);
ManagedBean managed = registry.findManagedBean(mname);
if (managed == null) {
Exception e = new Exception("ManagedBean is not found with "+mname);
throw new MBeanException(e);
}
String domain = managed.getDomain();
if (domain == null)
domain = mserver.getDefaultDomain();
DynamicMBean mbean = managed.createMBean(service);
ObjectName oname = createObjectName(domain, service);
if( mserver.isRegistered( oname )) {
mserver.unregisterMBean(oname);
}
mserver.registerMBean(mbean, oname);
return (mbean);
}
/**
* Create, register, and return an MBean for this
* <code>User</code> object.
*
* @param user The User to be managed
*
* @exception Exception if an MBean cannot be created or registered
*/
static DynamicMBean createMBean(User user)
throws Exception {
String mname = createManagedName(user);
ManagedBean managed = registry.findManagedBean(mname);
if (managed == null) {
Exception e = new Exception("ManagedBean is not found with "+mname);
throw new MBeanException(e);
}
String domain = managed.getDomain();
if (domain == null)
domain = mserver.getDefaultDomain();
DynamicMBean mbean = managed.createMBean(user);
ObjectName oname = createObjectName(domain, user);
if( mserver.isRegistered( oname )) {
mserver.unregisterMBean(oname);
}
mserver.registerMBean(mbean, oname);
return (mbean);
}
/**
* Create, register, and return an MBean for this
* <code>UserDatabase</code> object.
*
* @param userDatabase The UserDatabase to be managed
*
* @exception Exception if an MBean cannot be created or registered
*/
static DynamicMBean createMBean(UserDatabase userDatabase)
throws Exception {
String mname = createManagedName(userDatabase);
ManagedBean managed = registry.findManagedBean(mname);
if (managed == null) {
Exception e = new Exception("ManagedBean is not found with "+mname);
throw new MBeanException(e);
}
String domain = managed.getDomain();
if (domain == null)
domain = mserver.getDefaultDomain();
DynamicMBean mbean = managed.createMBean(userDatabase);
ObjectName oname = createObjectName(domain, userDatabase);
if( mserver.isRegistered( oname )) {
mserver.unregisterMBean(oname);
}
mserver.registerMBean(mbean, oname);
return (mbean);
}
/**
* Create, register, and return an MBean for this
* <code>Valve</code> object.
*
* @param valve The Valve to be managed
*
* @exception Exception if an MBean cannot be created or registered
*/
static DynamicMBean createMBean(Valve valve)
throws Exception {
String mname = createManagedName(valve);
ManagedBean managed = registry.findManagedBean(mname);
if (managed == null) {
Exception e = new Exception("ManagedBean is not found with "+mname);
throw new MBeanException(e);
}
String domain = managed.getDomain();
if (domain == null)
domain = mserver.getDefaultDomain();
DynamicMBean mbean = managed.createMBean(valve);
ObjectName oname = createObjectName(domain, valve);
if( mserver.isRegistered( oname )) {
mserver.unregisterMBean(oname);
}
mserver.registerMBean(mbean, oname);
return (mbean);
}
/**
* Create an <code>ObjectName</code> for this
* <code>Connector</code> object.
*
* @param domain Domain in which this name is to be created
* @param connector The Connector to be named
*
* @exception MalformedObjectNameException if a name cannot be created
*/
static ObjectName createObjectName(String domain,
Connector connector)
throws MalformedObjectNameException {
ObjectName name = null;
if (connector.getClass().getName().indexOf("CoyoteConnector") >= 0 ) {
try {
String address = (String)
IntrospectionUtils.getProperty(connector, "address");
Integer port = (Integer)
IntrospectionUtils.getProperty(connector, "port");
Service service = connector.getService();
String serviceName = null;
if (service != null)
serviceName = service.getName();
StringBuffer sb = new StringBuffer(domain);
sb.append(":type=Connector");
sb.append(",port=" + port);
if ((address != null) && (address.length()>0)) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -