List of usage examples for javax.management ObjectName getKeyProperty
public String getKeyProperty(String property)
From source file:catalina.mbeans.MBeanFactory.java
/** * Create a new StandardManager./*from ww w .j a va 2s.com*/ * * @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); Server server = ServerFactory.getServer(); String type = pname.getKeyProperty("type"); Service service = server.findService(pname.getKeyProperty("service")); Engine engine = (Engine) service.getContainer(); if ((type != null) && (type.equals("Context"))) { Host host = (Host) engine.findChild(pname.getKeyProperty("host")); String pathStr = getPathStr(pname.getKeyProperty("path")); Context context = (Context) host.findChild(pathStr); context.setManager(manager); } else if ((type != null) && (type.equals("DefaultContext"))) { String hostName = pname.getKeyProperty("host"); DefaultContext defaultContext = null; if (hostName == null) { defaultContext = engine.getDefaultContext(); } else { Host host = (Host) engine.findChild(hostName); defaultContext = host.getDefaultContext(); } if (defaultContext != null) { manager.setDefaultContext(defaultContext); defaultContext.setManager(manager); } } // Return the corresponding MBean name ManagedBean managed = registry.findManagedBean("StandardManager"); ObjectName oname = MBeanUtils.createObjectName(managed.getDomain(), manager); return (oname.toString()); }
From source file:catalina.mbeans.MBeanFactory.java
/** * Create a new Web Application Loader./*from w ww . jav a 2s .co m*/ * * @param parent MBean Name of the associated parent component * * @exception Exception if an MBean cannot be created or registered */ public String createWebappLoader(String parent) throws Exception { // Create a new WebappLoader instance WebappLoader loader = new WebappLoader(); // Add the new instance to its parent component ObjectName pname = new ObjectName(parent); Server server = ServerFactory.getServer(); String type = pname.getKeyProperty("type"); Service service = server.findService(pname.getKeyProperty("service")); Engine engine = (Engine) service.getContainer(); if ((type != null) && (type.equals("Context"))) { Host host = (Host) engine.findChild(pname.getKeyProperty("host")); String pathStr = getPathStr(pname.getKeyProperty("path")); Context context = (Context) host.findChild(pathStr); context.setLoader(loader); } else if ((type != null) && (type.equals("DefaultContext"))) { String hostName = pname.getKeyProperty("host"); DefaultContext defaultContext = null; if (hostName == null) { defaultContext = engine.getDefaultContext(); } else { Host host = (Host) engine.findChild(hostName); defaultContext = host.getDefaultContext(); } if (defaultContext != null) { loader.setDefaultContext(defaultContext); defaultContext.setLoader(loader); } } // Return the corresponding MBean name ManagedBean managed = registry.findManagedBean("WebappLoader"); ObjectName oname = MBeanUtils.createObjectName(managed.getDomain(), loader); return (oname.toString()); }
From source file:catalina.mbeans.MBeanFactory.java
/** * Create a new StandardEngine.//from w w w . j a va2 s . c o m * * @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 */ 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(pname.getKeyProperty("name")); service.setContainer(engine); // Return the corresponding MBean name ManagedBean managed = registry.findManagedBean("StandardEngine"); ObjectName oname = MBeanUtils.createObjectName(managed.getDomain(), engine); return (oname.toString()); }
From source file:catalina.mbeans.MBeanFactory.java
/** * Remove an existing Connector.//from ww w. j a v a 2 s . c o m * * @param name MBean Name of the comonent to remove * * @param serviceName Service name of the connector to remove * * @exception Exception if a component cannot be removed */ public void removeConnector(String name) throws Exception { // Acquire a reference to the component to be removed ObjectName oname = new ObjectName(name); Server server = ServerFactory.getServer(); String serviceName = oname.getKeyProperty("service"); Service service = server.findService(serviceName); String port = oname.getKeyProperty("port"); String address = oname.getKeyProperty("address"); Connector conns[] = (Connector[]) service.findConnectors(); for (int i = 0; i < conns.length; i++) { Class cls = conns[i].getClass(); Method getAddrMeth = cls.getMethod("getAddress", null); Object addrObj = getAddrMeth.invoke(conns[i], null); String connAddress = null; if (addrObj != null) { connAddress = addrObj.toString(); } Method getPortMeth = cls.getMethod("getPort", null); Object portObj = getPortMeth.invoke(conns[i], null); String connPort = new String(); if (portObj != null) { connPort = portObj.toString(); } if (((address.equals("null")) && (connAddress == null)) && port.equals(connPort)) { service.removeConnector(conns[i]); break; } else if (address.equals(connAddress) && port.equals(connPort)) { // Remove this component from its parent component service.removeConnector(conns[i]); break; } } }
From source file:catalina.mbeans.MBeanFactory.java
/** * Create a new StandardHost.//from www.ja va2 s. c o m * * @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? * * @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) 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); // Add the new instance to its parent component ObjectName pname = new ObjectName(parent); Server server = ServerFactory.getServer(); Service service = server.findService(pname.getKeyProperty("service")); Engine engine = (Engine) service.getContainer(); engine.addChild(host); // Return the corresponding MBean name ManagedBean managed = registry.findManagedBean("StandardHost"); ObjectName oname = MBeanUtils.createObjectName(managed.getDomain(), host); return (oname.toString()); }
From source file:catalina.mbeans.MBeanFactory.java
/** * Create a new StandardContext.//from w ww . j a v a 2 s. c om * * @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); Server server = ServerFactory.getServer(); Service service = server.findService(pname.getKeyProperty("service")); Engine engine = (Engine) service.getContainer(); Host host = (Host) engine.findChild(pname.getKeyProperty("host")); // Add context to the host host.addChild(context); // Return the corresponding MBean name ManagedBean managed = registry.findManagedBean("StandardContext"); ObjectName oname = MBeanUtils.createObjectName(managed.getDomain(), context); return (oname.toString()); }
From source file:catalina.mbeans.MBeanFactory.java
/** * Create a new HttpConnector//from ww w. j a v a2s . c o m * * @param parent MBean Name of the associated parent component * @param address The IP address on which to bind * @param port TCP port number to listen on * * @exception Exception if an MBean cannot be created or registered */ public String createHttpConnector(String parent, String address, int port) throws Exception { Object retobj = null; try { // Create a new CoyoteConnector instance // use reflection to avoid j-t-c compile-time circular dependencies Class cls = Class.forName("org.apache.coyote.tomcat4.CoyoteConnector"); Constructor ct = cls.getConstructor(null); retobj = ct.newInstance(null); Class partypes1[] = new Class[1]; // Set address String str = new String(); partypes1[0] = str.getClass(); Method meth1 = cls.getMethod("setAddress", partypes1); Object arglist1[] = new Object[1]; arglist1[0] = address; meth1.invoke(retobj, arglist1); // Set port number Class partypes2[] = new Class[1]; partypes2[0] = Integer.TYPE; Method meth2 = cls.getMethod("setPort", partypes2); Object arglist2[] = new Object[1]; arglist2[0] = new Integer(port); meth2.invoke(retobj, arglist2); } catch (Exception e) { throw new MBeanException(e); } // Add the new instance to its parent component ObjectName pname = new ObjectName(parent); Server server = ServerFactory.getServer(); Service service = server.findService(pname.getKeyProperty("name")); service.addConnector((Connector) retobj); // Return the corresponding MBean name ManagedBean managed = registry.findManagedBean("CoyoteConnector"); ObjectName oname = MBeanUtils.createObjectName(managed.getDomain(), (Connector) retobj); return (oname.toString()); }
From source file:catalina.mbeans.MBeanFactory.java
/** * Create a new AjpConnector/*w w w. j a v a2 s . c o m*/ * * @param parent MBean Name of the associated parent component * @param address The IP address on which to bind * @param port TCP port number to listen on * * @exception Exception if an MBean cannot be created or registered */ public String createAjpConnector(String parent, String address, int port) throws Exception { Object retobj = null; try { // Create a new CoyoteConnector instance for AJP // use reflection to avoid j-t-c compile-time circular dependencies Class cls = Class.forName("org.apache.coyote.tomcat4.CoyoteConnector"); Constructor ct = cls.getConstructor(null); retobj = ct.newInstance(null); Class partypes1[] = new Class[1]; // Set address String str = new String(); partypes1[0] = str.getClass(); Method meth1 = cls.getMethod("setAddress", partypes1); Object arglist1[] = new Object[1]; arglist1[0] = address; meth1.invoke(retobj, arglist1); // Set port number Class partypes2[] = new Class[1]; partypes2[0] = Integer.TYPE; Method meth2 = cls.getMethod("setPort", partypes2); Object arglist2[] = new Object[1]; arglist2[0] = new Integer(port); meth2.invoke(retobj, arglist2); // set protocolHandlerClassName for AJP Class partypes3[] = new Class[1]; partypes3[0] = str.getClass(); Method meth3 = cls.getMethod("setProtocolHandlerClassName", partypes3); Object arglist3[] = new Object[1]; arglist3[0] = new String("org.apache.jk.server.JkCoyoteHandler"); meth3.invoke(retobj, arglist3); } catch (Exception e) { throw new MBeanException(e); } // Add the new instance to its parent component ObjectName pname = new ObjectName(parent); Server server = ServerFactory.getServer(); Service service = server.findService(pname.getKeyProperty("name")); service.addConnector((Connector) retobj); // Return the corresponding MBean name ManagedBean managed = registry.findManagedBean("CoyoteConnector"); ObjectName oname = MBeanUtils.createObjectName(managed.getDomain(), (Connector) retobj); return (oname.toString()); }
From source file:catalina.mbeans.MBeanFactory.java
/** * Create a new HttpsConnector//from ww w .j av a 2s . c o m * * @param parent MBean Name of the associated parent component * @param address The IP address on which to bind * @param port TCP port number to listen on * * @exception Exception if an MBean cannot be created or registered */ public String createHttpsConnector(String parent, String address, int port) throws Exception { Object retobj = null; try { // Create a new CoyoteConnector instance // use reflection to avoid j-t-c compile-time circular dependencies Class cls = Class.forName("org.apache.coyote.tomcat4.CoyoteConnector"); Constructor ct = cls.getConstructor(null); retobj = ct.newInstance(null); Class partypes1[] = new Class[1]; // Set address String str = new String(); partypes1[0] = str.getClass(); Method meth1 = cls.getMethod("setAddress", partypes1); Object arglist1[] = new Object[1]; arglist1[0] = address; meth1.invoke(retobj, arglist1); // Set port number Class partypes2[] = new Class[1]; partypes2[0] = Integer.TYPE; Method meth2 = cls.getMethod("setPort", partypes2); Object arglist2[] = new Object[1]; arglist2[0] = new Integer(port); meth2.invoke(retobj, arglist2); // Set scheme Class partypes3[] = new Class[1]; partypes3[0] = str.getClass(); Method meth3 = cls.getMethod("setScheme", partypes3); Object arglist3[] = new Object[1]; arglist3[0] = new String("https"); meth3.invoke(retobj, arglist3); // Set secure Class partypes4[] = new Class[1]; partypes4[0] = Boolean.TYPE; Method meth4 = cls.getMethod("setSecure", partypes4); Object arglist4[] = new Object[1]; arglist4[0] = new Boolean(true); meth4.invoke(retobj, arglist4); // Set factory Class serverSocketFactoryCls = Class.forName("org.apache.catalina.net.ServerSocketFactory"); Class coyoteServerSocketFactoryCls = Class .forName("org.apache.coyote.tomcat4.CoyoteServerSocketFactory"); Constructor factoryConst = coyoteServerSocketFactoryCls.getConstructor(null); Object factoryObj = factoryConst.newInstance(null); Class partypes5[] = new Class[1]; partypes5[0] = serverSocketFactoryCls; Method meth5 = cls.getMethod("setFactory", partypes5); Object arglist5[] = new Object[1]; arglist5[0] = factoryObj; meth5.invoke(retobj, arglist5); } catch (Exception e) { throw new MBeanException(e); } try { // Add the new instance to its parent component ObjectName pname = new ObjectName(parent); Server server = ServerFactory.getServer(); Service service = server.findService(pname.getKeyProperty("name")); service.addConnector((Connector) retobj); } catch (Exception e) { // FIXME // disply error message // the user needs to use keytool to configure SSL first // addConnector will fail otherwise return null; } // Return the corresponding MBean name ManagedBean managed = registry.findManagedBean("CoyoteConnector"); ObjectName oname = MBeanUtils.createObjectName(managed.getDomain(), (Connector) retobj); return (oname.toString()); }
From source file:org.apache.geode.management.internal.beans.DistributedSystemBridge.java
public void removeRegion(ObjectName proxyName, RegionMXBean regionProxy, FederationComponent fedComp) { String fullPath = proxyName.getKeyProperty("name"); ObjectName distributedRegionObjectName = MBeanJMXAdapter.getDistributedRegionMbeanNameInternal(fullPath); synchronized (distrRegionMap) { if (distrRegionMap.get(distributedRegionObjectName) != null) { DistributedRegionBridge bridge = distrRegionMap.get(distributedRegionObjectName); if (bridge.removeProxyFromMap(proxyName, regionProxy, fedComp)) { service.unregisterMBean(distributedRegionObjectName); distrRegionMap.remove(distributedRegionObjectName); }/* www . ja va2s. c om*/ } else { return; } } }