List of usage examples for javax.management MBeanServer registerMBean
public ObjectInstance registerMBean(Object object, ObjectName name) throws InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException;
Registers a pre-existing object as an MBean with the MBean server.
From source file:io.fabric8.api.jmx.FabricManager.java
public void registerMBeanServer(MBeanServer mbeanServer) { try {/* www. j av a2 s. co m*/ ObjectName name = getObjectName(); if (!mbeanServer.isRegistered(name)) { mbeanServer.registerMBean(this, name); } } catch (Exception e) { LOG.warn("An error occured during mbean server registration: " + e, e); } }
From source file:com.facebook.infrastructure.service.StorageService.java
private void init() { // Register this instance with JMX try {/* w w w . ja v a2 s . co m*/ MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); mbs.registerMBean(this, new ObjectName("com.facebook.infrastructure.service:type=StorageService")); } catch (Exception e) { logger_.error(LogUtil.throwableToString(e)); } }
From source file:com.web.server.SARDeployer.java
/** * This method extracts the SAR archive and configures for the SAR and starts the services * @param file//from w w w . j a v a 2 s.c om * @param warDirectoryPath * @throws IOException */ public void extractSar(File file, String warDirectoryPath) throws IOException { ZipFile zip = new ZipFile(file); ZipEntry ze = null; String fileName = file.getName(); fileName = fileName.substring(0, fileName.indexOf('.')); fileName += "sar"; String fileDirectory; CopyOnWriteArrayList classPath = new CopyOnWriteArrayList(); Enumeration<? extends ZipEntry> entries = zip.entries(); int numBytes; while (entries.hasMoreElements()) { ze = entries.nextElement(); // //System.out.println("Unzipping " + ze.getName()); String filePath = deployDirectory + "/" + fileName + "/" + ze.getName(); if (!ze.isDirectory()) { fileDirectory = filePath.substring(0, filePath.lastIndexOf('/')); } else { fileDirectory = filePath; } // //System.out.println(fileDirectory); createDirectory(fileDirectory); if (!ze.isDirectory()) { FileOutputStream fout = new FileOutputStream(filePath); byte[] inputbyt = new byte[8192]; InputStream istream = zip.getInputStream(ze); while ((numBytes = istream.read(inputbyt, 0, inputbyt.length)) >= 0) { fout.write(inputbyt, 0, numBytes); } fout.close(); istream.close(); if (ze.getName().endsWith(".jar")) { classPath.add(filePath); } } } zip.close(); URLClassLoader loader = (URLClassLoader) ClassLoader.getSystemClassLoader(); URL[] urls = loader.getURLs(); WebClassLoader sarClassLoader = new WebClassLoader(urls); for (int index = 0; index < classPath.size(); index++) { System.out.println("file:" + classPath.get(index)); new WebServer().addURL(new URL("file:" + classPath.get(index)), sarClassLoader); } new WebServer().addURL(new URL("file:" + deployDirectory + "/" + fileName + "/"), sarClassLoader); sarsMap.put(fileName, sarClassLoader); System.out.println(sarClassLoader.geturlS()); try { Sar sar = (Sar) sardigester.parse(new InputSource( new FileInputStream(deployDirectory + "/" + fileName + "/META-INF/" + "mbean-service.xml"))); CopyOnWriteArrayList mbeans = sar.getMbean(); MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); System.out.println(mbs); ObjectName objName; for (int index = 0; index < mbeans.size(); index++) { Mbean mbean = (Mbean) mbeans.get(index); System.out.println(mbean.getObjectname()); System.out.println(mbean.getCls()); objName = new ObjectName(mbean.getObjectname()); Class helloWorldService = sarClassLoader.loadClass(mbean.getCls()); Object obj = helloWorldService.newInstance(); if (mbs.isRegistered(objName)) { mbs.invoke(objName, "stopService", null, null); //mbs.invoke(objName, "destroy", null, null); mbs.unregisterMBean(objName); } mbs.registerMBean(obj, objName); CopyOnWriteArrayList attrlist = mbean.getMbeanAttribute(); if (attrlist != null) { for (int count = 0; count < attrlist.size(); count++) { MBeanAttribute attr = (MBeanAttribute) attrlist.get(count); Attribute mbeanattribute = new Attribute(attr.getName(), attr.getValue()); mbs.setAttribute(objName, mbeanattribute); } } mbs.invoke(objName, "startService", null, null); } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MalformedObjectNameException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InstanceAlreadyExistsException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MBeanRegistrationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NotCompliantMBeanException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InstanceNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ReflectionException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MBeanException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvalidAttributeValueException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (AttributeNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
From source file:org.rzo.yajsw.app.WrapperManagerImpl.java
private void registerMBean(YajswConfiguration config) { MBeanServer server = null; ArrayList servers = MBeanServerFactory.findMBeanServer(null); try {// w w w. j av a 2 s . c o m if (servers != null && servers.size() > 0) server = (MBeanServer) servers.get(0); if (server != null) { String name = config.getString("wrapper.console.title"); if (name == null) name = config.getString("wrapper.ntservice.name"); if (name == null) name = "yajsw.noname"; ObjectName oName = new ObjectName("Wrapper", "name", name); server.registerMBean(this, oName); // System.out.println("found mbean server: " + // server.toString()); } else System.out.println("ERROR: no mbean server found "); } catch (Exception e) { e.printStackTrace(); } }
From source file:org.wso2.carbon.caching.impl.CacheImpl.java
private void registerMBean() { String serverPackage = "org.wso2.carbon"; try {//from w w w . j a va 2s .c o m String objectName = serverPackage + ":type=Cache,tenant=" + ownerTenantDomain + ",manager=" + cacheManager.getName() + ",name=" + cacheName; MBeanServer mserver = getMBeanServer(); cacheMXBeanObjName = new ObjectName(objectName); Set set = mserver.queryNames(new ObjectName(objectName), null); if (set.isEmpty()) { CacheMXBeanImpl cacheMXBean = new CacheMXBeanImpl(this, ownerTenantDomain, ownerTenantId); mserver.registerMBean(cacheMXBean, cacheMXBeanObjName); } } catch (Exception e) { String msg = "Could not register CacheMXBeanImpl MBean"; log.error(msg, e); throw new RuntimeException(msg, e); } }
From source file:com.cyberway.issue.crawler.Heritrix.java
public static MBeanServer registerMBean(final MBeanServer server, final Object objToRegister, final ObjectName objName) throws InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException { server.registerMBean(objToRegister, objName); return server; }
From source file:net.sbbi.upnp.jmx.upnp.UPNPConnectorServer.java
public void start() throws IOException { MBeanServer server = getMBeanServer(); if (exposeMBeansAsUPNP.booleanValue()) { try {//from www .j a va 2s . c o m ObjectName delegate = new ObjectName("JMImplementation:type=MBeanServerDelegate"); NotificationEmitter emmiter = (NotificationEmitter) MBeanServerInvocationHandler .newProxyInstance(server, delegate, NotificationEmitter.class, false); // register for MBeans registration emmiter.addNotificationListener(this, null, this); } catch (Exception ex) { IOException ioEx = new IOException("UPNPConnector start error"); ioEx.initCause(ex); throw ioEx; } } if (exposeUPNPAsMBeans.booleanValue()) { int timeout = 2500; if (env.containsKey(EXPOSE_UPNP_DEVICES_AS_MBEANS_TIMEOUT)) { timeout = ((Integer) env.get(EXPOSE_UPNP_DEVICES_AS_MBEANS_TIMEOUT)).intValue(); } try { discoveryBeanName = new ObjectName("UPNPLib discovery:name=Discovery MBean_" + this.hashCode()); UPNPDiscoveryMBean bean = new UPNPDiscovery(timeout, handleSSDPMessages.booleanValue(), true); server.registerMBean(bean, discoveryBeanName); } catch (Exception ex) { IOException ioEx = new IOException("Error occured during MBeans discovery"); ioEx.initCause(ex); throw ioEx; } } if (exposeExistingMBeansAsUPNP.booleanValue()) { int c = 0; Set objectInstances = super.getMBeanServer().queryNames(null, null); for (Iterator i = objectInstances.iterator(); i.hasNext();) { ObjectName name = (ObjectName) i.next(); MBeanServerNotification not = new MBeanServerNotification( MBeanServerNotification.REGISTRATION_NOTIFICATION, this, c++, name); handleNotification(not, this); } } }
From source file:org.apache.geode.admin.jmx.internal.AgentImpl.java
private void initializeHelperMbean() { try {// w w w .jav a 2 s. c om memberInfoWithStatsMBean = new MemberInfoWithStatsMBean(this); MBeanServer mbs = getMBeanServer(); mbs.registerMBean(memberInfoWithStatsMBean, memberInfoWithStatsMBean.getObjectName()); /* * We are not re-throwing these exceptions as failure create/register the GemFireTypesWrapper * will not stop the Agent from working. But we are logging it as it could be an indication of * some problem. Also not creating Localized String for the exception. */ } catch (OperationsException e) { logger.info(LocalizedMessage .create(LocalizedStrings.AgentImpl_FAILED_TO_INITIALIZE_MEMBERINFOWITHSTATSMBEAN), e); } catch (MBeanRegistrationException e) { logger.info(LocalizedMessage .create(LocalizedStrings.AgentImpl_FAILED_TO_INITIALIZE_MEMBERINFOWITHSTATSMBEAN), e); } catch (AdminException e) { logger.info(LocalizedMessage .create(LocalizedStrings.AgentImpl_FAILED_TO_INITIALIZE_MEMBERINFOWITHSTATSMBEAN), e); } }
From source file:io.fabric8.core.jmx.FabricManager.java
public void registerMBeanServer(ShutdownTracker shutdownTracker, MBeanServer mbeanServer) { try {/*from ww w.ja va2 s . co m*/ ObjectName name = getObjectName(); if (!mbeanServer.isRegistered(name)) { StandardMBean mbean = new StandardMBean(this, FabricManagerMBean.class); mbeanServer.registerMBean(mbean, name); } } catch (Exception e) { LOG.warn("An error occured during mbean server registration: " + e, e); } }
From source file:org.jboss.web.tomcat.service.session.JBossCacheCluster.java
/** * Registers this object and the tree cache (if we created it) with JMX. *///from w w w .ja v a 2s . c o m private void registerMBeans() { try { MBeanServer server = getMBeanServer(); String domain; if (container instanceof ContainerBase) { domain = ((ContainerBase) container).getDomain(); } else { domain = server.getDefaultDomain(); } String name = ":type=Cluster"; if (container instanceof Host) { name += ",host=" + container.getName(); } else if (container instanceof Engine) { name += ",engine=" + container.getName(); } ObjectName clusterName = new ObjectName(domain + name); if (server.isRegistered(clusterName)) { log.warn("MBean " + clusterName + " already registered"); } else { this.objectName = clusterName; server.registerMBean(this, objectName); } } catch (Exception ex) { log.error(ex.getMessage(), ex); } }