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:org.rhq.core.domain.server.PersistenceUtility.java
/** * Enables the hibernate statistics mbean to provide access to information on the ejb3 persistence tier. * * @param entityManager an inject entity manager whose session factory will be tracked with these statistics * @param server the MBeanServer where the statistics MBean should be registered; if <code>null</code>, the * first one in the list returned by MBeanServerFactory.findMBeanServer(null) is used * @param flag true if the stats are to be enabled; false to disable the stats *//*from w w w .j a va2 s. c om*/ public static void enableHibernateStatistics(EntityManager entityManager, MBeanServer server, boolean flag) { SessionFactory sessionFactory = null; try { sessionFactory = PersistenceUtility.getHibernateSession(entityManager).getSessionFactory(); if (server == null) { ArrayList<MBeanServer> list = MBeanServerFactory.findMBeanServer(null); server = list.get(0); } ObjectName objectName = new ObjectName(HIBERNATE_STATISTICS_MBEAN_OBJECTNAME); StatisticsService mBean = new StatisticsService(); mBean.setSessionFactory(sessionFactory); server.registerMBean(mBean, objectName); } catch (InstanceAlreadyExistsException iaee) { LOG.info("Duplicate mbean registration ignored: " + HIBERNATE_STATISTICS_MBEAN_OBJECTNAME); } catch (Exception e) { LOG.warn("Couldn't register hibernate statistics mbean", e); } try { if (sessionFactory != null) { sessionFactory.getStatistics().setStatisticsEnabled(flag); LOG.info("Hibernate statistics enable flag set to [" + flag + "]"); } } catch (Exception e) { LOG.warn("Couldn't set the statistics enable flag to [" + flag + "]", e); } }
From source file:io.mapzone.arena.jmx.ArenaConfig.java
/** * The ArenaPlugin must be started automatically at level 5 in order to make this * available right after startup.//from www. ja va2s. co m */ public ArenaConfig() { assert instance == null; instance = this; try { MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer(); mbeanServer.registerMBean(this, ArenaConfigMBean.NAME.get()); log.info("MBean registered."); } catch (Exception e) { throw new RuntimeException(e); } }
From source file:org.jolokia.detector.ServerHandleTest.java
@Test public void registerAtMBeanServer2() throws MalformedObjectNameException, MBeanRegistrationException, InstanceAlreadyExistsException, NotCompliantMBeanException { Config config = new Config(null, null, null); ObjectInstance oInstance = new ObjectInstance("jolokia:type=dummy", Config.class.getName()); MBeanServer server = EasyMock.createMock(MBeanServer.class); expect(server.registerMBean(config, null)).andReturn(oInstance); replay(server);/*from ww w.j av a2 s. c om*/ ObjectName resName = serverHandle.registerMBeanAtServer(server, config, null); assertEquals(resName, new ObjectName("jolokia:type=dummy")); verify(server); }
From source file:org.jolokia.detector.ServerHandleTest.java
@Test public void registerAtMBeanServer() throws MalformedObjectNameException, MBeanRegistrationException, InstanceAlreadyExistsException, NotCompliantMBeanException { Config config = new Config(null, null, null); ObjectName oName = new ObjectName("jolokia:type=Config"); ObjectInstance oInstance = new ObjectInstance(oName, Config.class.getName()); MBeanServer server = EasyMock.createMock(MBeanServer.class); expect(server.registerMBean(eq(config), eq(oName))).andReturn(oInstance); replay(server);//from w w w. j av a 2 s . com ObjectName resName = serverHandle.registerMBeanAtServer(server, config, "jolokia:type=Config"); assertEquals(resName, oName); verify(server); }
From source file:org.xwiki.management.internal.DefaultJMXBeanRegistration.java
@Override public void registerMBean(Object mbean, String name) { // Make sure we never fail since XWiki should execute correctly even if there's no MBean Server running. try {/*from w w w . j a v a2s. c o m*/ MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); ObjectName oname = new ObjectName(OBJECTNAME_PREFIX + name); mbs.registerMBean(mbean, oname); this.logger.debug("Registered resource with name [{}]", name); } catch (Exception e) { // Failed to register the MBean, log a warning this.logger.warn("Failed to register resource with name [{}]. Reason = [{}]", name, ExceptionUtils.getMessage(e)); } }
From source file:org.rhq.enterprise.server.remote.RemoteSafeInvocationHandler.java
/** * Registers the MBean used to monitor the remote API processing. * * @param mbs the MBeanServer where the metrics MBean should be registered *//*from ww w. java 2 s .co m*/ public void registerMetricsMBean(MBeanServer mbs) { try { mbs.registerMBean(this.metrics, RemoteSafeInvocationHandlerMetricsMBean.OBJECTNAME_METRICS); } catch (Exception e) { log.warn("Failed to register the metrics object, will not be able to monitor remote API: " + e); } }
From source file:co.paralleluniverse.common.monitoring.Monitor.java
public void registerMBean() { try {/*from w ww . j a va2 s .com*/ LOG.info("Registering MBean {}", name); MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); ObjectName mxbeanName = new ObjectName(name); mbs.registerMBean(this, mxbeanName); this.registered = true; } catch (InstanceAlreadyExistsException ex) { throw new RuntimeException(ex); } catch (MBeanRegistrationException ex) { throw new RuntimeException(ex); } catch (NotCompliantMBeanException ex) { throw new AssertionError(ex); } catch (MalformedObjectNameException ex) { throw new AssertionError(ex); } }
From source file:com.hellblazer.slp.jmx.JmxDiscoveryConfiguration.java
public JmxServerListener construct() throws Exception { ServiceScope scope = discovery.construct(); scope.start();/* w w w .j av a 2 s .c om*/ MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); CascadingService cascadingService = new CascadingService(); mbs.registerMBean(cascadingService, new ObjectName(name)); JmxServerListener listener = new JmxServerListener(cascadingService, sourcePattern, sourceMap, scope, targetPath); for (String serviceType : serviceNames) { listener.listenFor("(" + SERVICE_TYPE + "=" + serviceType + ")"); } return listener; }
From source file:org.apache.cassandra.gms.FailureDetector.java
public FailureDetector() { phiConvictThreshold_ = DatabaseDescriptor.getPhiConvictThreshold(); // Register this instance with JMX try {//from w w w . j a v a 2 s . c o m MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); mbs.registerMBean(this, new ObjectName("org.apache.cassandra.net:type=FailureDetector")); } catch (Exception e) { throw new RuntimeException(e); } }
From source file:org.nuxeo.runtime.tomcat.NuxeoLauncher.java
protected void handleEvent(NuxeoWebappLoader loader, LifecycleEvent event) { String type = event.getType(); try {// w ww. j a v a2s .c o m MutableClassLoader cl = (MutableClassLoader) loader.getClassLoader(); boolean devMode = cl instanceof NuxeoDevWebappClassLoader; if (type == Lifecycle.CONFIGURE_START_EVENT) { File homeDir = resolveHomeDirectory(loader); if (devMode) { bootstrap = new DevFrameworkBootstrap(cl, homeDir); MBeanServer server = ManagementFactory.getPlatformMBeanServer(); server.registerMBean(bootstrap, new ObjectName(DEV_BUNDLES_NAME)); server.registerMBean(cl, new ObjectName(WEB_RESOURCES_NAME)); ((NuxeoDevWebappClassLoader) cl).setBootstrap((DevFrameworkBootstrap) bootstrap); } else { bootstrap = new FrameworkBootstrap(cl, homeDir); } bootstrap.setHostName("Tomcat"); bootstrap.setHostVersion(ServerInfo.getServerNumber()); bootstrap.initialize(); } else if (type == Lifecycle.START_EVENT) { bootstrap.start(); } else if (type == Lifecycle.STOP_EVENT) { bootstrap.stop(); if (devMode) { MBeanServer server = ManagementFactory.getPlatformMBeanServer(); server.unregisterMBean(new ObjectName(DEV_BUNDLES_NAME)); server.unregisterMBean(new ObjectName(WEB_RESOURCES_NAME)); } } } catch (IOException | JMException | ReflectiveOperationException e) { log.error("Failed to handle event: " + type, e); } }