📄 mbeanfactory.java
字号:
}
/**
* Create a new Memory Realm.
*
* @param parent MBean Name of the associated parent component
*
* @exception Exception if an MBean cannot be created or registered
*/
public String createMemoryRealm(String parent)
throws Exception {
// Create a new MemoryRealm instance
MemoryRealm realm = new MemoryRealm();
// Add the new instance to its parent component
ObjectName pname = new ObjectName(parent);
ContainerBase containerBase = getParentContainerFromParent(pname);
// Add the new instance to its parent component
containerBase.setRealm(realm);
// Return the corresponding MBean name
//ObjectName oname = realm.getObjectName();
// FIXME getObjectName() returns null
ObjectName oname =
MBeanUtils.createObjectName(pname.getDomain(), realm);
if (oname != null) {
return (oname.toString());
} else {
return null;
}
}
/**
* Create a new Remote Address Filter Valve.
*
* @param parent MBean Name of the associated parent component
*
* @exception Exception if an MBean cannot be created or registered
*/
public String createRemoteAddrValve(String parent)
throws Exception {
// Create a new RemoteAddrValve instance
RemoteAddrValve valve = new RemoteAddrValve();
// Add the new instance to its parent component
ObjectName pname = new ObjectName(parent);
ContainerBase containerBase = getParentContainerFromParent(pname);
containerBase.addValve(valve);
ObjectName oname = valve.getObjectName();
return (oname.toString());
}
/**
* Create a new Remote Host Filter Valve.
*
* @param parent MBean Name of the associated parent component
*
* @exception Exception if an MBean cannot be created or registered
*/
public String createRemoteHostValve(String parent)
throws Exception {
// Create a new RemoteHostValve instance
RemoteHostValve valve = new RemoteHostValve();
// Add the new instance to its parent component
ObjectName pname = new ObjectName(parent);
ContainerBase containerBase = getParentContainerFromParent(pname);
containerBase.addValve(valve);
ObjectName oname = valve.getObjectName();
return (oname.toString());
}
/**
* Create a new Request Dumper Valve.
*
* @param parent MBean Name of the associated parent component
*
* @exception Exception if an MBean cannot be created or registered
*/
public String createRequestDumperValve(String parent)
throws Exception {
// Create a new RequestDumperValve instance
RequestDumperValve valve = new RequestDumperValve();
// Add the new instance to its parent component
ObjectName pname = new ObjectName(parent);
ContainerBase containerBase = getParentContainerFromParent(pname);
containerBase.addValve(valve);
ObjectName oname = valve.getObjectName();
return (oname.toString());
}
/**
* Create a new Single Sign On Valve.
*
* @param parent MBean Name of the associated parent component
*
* @exception Exception if an MBean cannot be created or registered
*/
public String createSingleSignOn(String parent)
throws Exception {
// Create a new SingleSignOn instance
SingleSignOn valve = new SingleSignOn();
// Add the new instance to its parent component
ObjectName pname = new ObjectName(parent);
ContainerBase containerBase = getParentContainerFromParent(pname);
containerBase.addValve(valve);
ObjectName oname = valve.getObjectName();
return (oname.toString());
}
/**
* Create a new StandardContext.
*
* @param parent MBean Name of the associated parent component
* @param path The context path for this Context
* @param docBase Document base directory (or WAR) for this Context
*
* @exception Exception if an MBean cannot be created or registered
*/
public String createStandardContext(String parent, String path,
String docBase)
throws Exception {
// Create a new StandardContext instance
StandardContext context = new StandardContext();
path = getPathStr(path);
context.setPath(path);
context.setDocBase(docBase);
ContextConfig contextConfig = new ContextConfig();
context.addLifecycleListener(contextConfig);
// Add the new instance to its parent component
ObjectName pname = new ObjectName(parent);
Service service = getService(pname);
Engine engine = (Engine) service.getContainer();
Host host = (Host) engine.findChild(pname.getKeyProperty("host"));
host.addChild(context);
// Return the corresponding MBean name
ObjectName oname =
MBeanUtils.createObjectName(pname.getDomain(), context);
return (oname.toString());
}
/**
* Create a new StandardEngine.
*
* @param parent MBean Name of the associated parent component
* @param name Unique name of this Engine
* @param defaultHost Default hostname of this Engine
*
* @exception Exception if an MBean cannot be created or registered
*/
// replaced by createStandardEngineService to create with service
// public String createStandardEngine(String parent, String name,
// String defaultHost)
// throws Exception {
// Create a new StandardEngine instance
// StandardEngine engine = new StandardEngine();
// engine.setName(name);
// engine.setDefaultHost(defaultHost);
// Add the new instance to its parent component
// ObjectName pname = new ObjectName(parent);
// Server server = ServerFactory.getServer();
// Service service = server.findService(name);
// service.setContainer(engine);
// Return the corresponding MBean name
//ManagedBean managed = registry.findManagedBean("StandardEngine");
// ObjectName oname =
// MBeanUtils.createObjectName(name, engine);
// return (oname.toString());
// }
public Vector createStandardEngineService(String parent,
String engineName, String defaultHost, String serviceName)
throws Exception {
// Create a new StandardService instance
StandardService service = new StandardService();
service.setName(serviceName);
// Create a new StandardEngine instance
StandardEngine engine = new StandardEngine();
engine.setName(engineName);
engine.setDefaultHost(defaultHost);
// Need to set engine before adding it to server in order to set domain
service.setContainer(engine);
// Add the new instance to its parent component
Server server = ServerFactory.getServer();
server.addService(service);
Vector onames = new Vector();
// FIXME service & engine.getObjectName
//ObjectName oname = engine.getObjectName();
ObjectName oname =
MBeanUtils.createObjectName(engineName, engine);
onames.add(0, oname);
//oname = service.getObjectName();
oname =
MBeanUtils.createObjectName(engineName, service);
onames.add(1, oname);
return (onames);
}
/**
* Create a new StandardHost.
*
* @param parent MBean Name of the associated parent component
* @param name Unique name of this Host
* @param appBase Application base directory name
* @param autoDeploy Should we auto deploy?
* @param deployXML Should we deploy Context XML config files property?
* @param liveDeploy Should we live deploy?
* @param unpackWARs Should we unpack WARs when auto deploying?
* @param xmlNamespaceAware Should we turn on/off XML namespace awareness?
* @param xmlValidation Should we turn on/off XML validation?
*
* @exception Exception if an MBean cannot be created or registered
*/
public String createStandardHost(String parent, String name,
String appBase, boolean autoDeploy,
boolean deployXML, boolean liveDeploy,
boolean unpackWARs,
boolean xmlNamespaceAware,
boolean xmlValidation)
throws Exception {
// Create a new StandardHost instance
StandardHost host = new StandardHost();
host.setName(name);
host.setAppBase(appBase);
host.setAutoDeploy(autoDeploy);
host.setDeployXML(deployXML);
host.setLiveDeploy(liveDeploy);
host.setUnpackWARs(unpackWARs);
host.setXmlNamespaceAware(xmlNamespaceAware);
host.setXmlValidation(xmlValidation);
// add HostConfig for active reloading
HostConfig hostConfig = new HostConfig();
host.addLifecycleListener(hostConfig);
// Add the new instance to its parent component
ObjectName pname = new ObjectName(parent);
Service service = getService(pname);
Engine engine = (Engine) service.getContainer();
engine.addChild(host);
// Return the corresponding MBean name
return (host.getObjectName().toString());
}
/**
* Create a new StandardManager.
*
* @param parent MBean Name of the associated parent component
*
* @exception Exception if an MBean cannot be created or registered
*/
public String createStandardManager(String parent)
throws Exception {
// Create a new StandardManager instance
StandardManager manager = new StandardManager();
// Add the new instance to its parent component
ObjectName pname = new ObjectName(parent);
ContainerBase containerBase = getParentContainerFromParent(pname);
if (containerBase != null) {
containerBase.setManager(manager);
}
ObjectName oname = manager.getObjectName();
if (oname != null) {
return (oname.toString());
} else {
return null;
}
}
/**
* Create a new StandardService.
*
* @param parent MBean Name of the associated parent component
* @param name Unique name of this StandardService
*
* @exception Exception if an MBean cannot be created or registered
*/
public String createStandardService(String parent, String name, String domain)
throws Exception {
// Create a new StandardService instance
StandardService service = new StandardService();
service.setName(name);
// Add the new instance to its parent component
Server server = ServerFactory.getServer();
server.addService(service);
// Return the corresponding MBean name
return (service.getObjectName().toString());
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -