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:com.github.stephanarts.cas.ticket.registry.ZMQTicketRegistry.java
/** * Creates a new TicketRegistry Backend. * * An instance of the ZMQTicketRegistry stores * CAS Tickets in a cluster of Registry-Providers. * * @param providers Array of providers to connect to * @param address Address to bind the RegistryProvider on * @param port TCP port to bind the RegistryProvider on * @param requestTimeout Timeout//from www . j a va 2 s.c om * @param heartbeatTimeout Timeout * @param heartbeatInterval Interval * * @throws Exception if localProvider could not be found */ public ZMQTicketRegistry(final String[] providers, final String address, final int port, final int requestTimeout, final int heartbeatTimeout, final int heartbeatInterval) throws Exception { this.provider = new ZMQProvider("tcp://" + address + ":" + port, this.providerId); this.provider.start(); this.pacemaker = new PaceMaker(); pacemaker.setHeartbeatInterval(heartbeatInterval); pacemaker.setHeartbeatTimeout(heartbeatTimeout); this.registryBroker = new RegistryBroker(providers, requestTimeout, this.pacemaker, this.providerId); MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); this.mbeanName = new ObjectName("CAS:type=TicketRegistry,provider='" + port + "'"); mbs.registerMBean(this.provider, this.mbeanName); try { this.registryBroker.bootstrap(); int nTickets = this.registryBroker.getTickets().size(); logger.info("Bootstrapping complete, got " + nTickets + " tickets."); } catch (final BootstrapException e) { logger.warn(e.getMessage()); } }
From source file:co.paralleluniverse.common.monitoring.PeriodicMonitor.java
private void registerMBean() { try {/*from w ww. ja va 2 s .c o m*/ LOG.info("Registering MBean {}", name); MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); ObjectName mxbeanName = new ObjectName(name); mbs.registerMBean(this, mxbeanName); timer.addNotificationListener(this, new NotificationFilter() { @Override public boolean isNotificationEnabled(Notification notification) { return "tickTimer".equals(notification.getType()); } }, null); 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:org.apache.synapse.securevault.commons.MBeanRegistrar.java
public void registerMBean(Object mbeanInstance, String category, String id) { assertNull(mbeanInstance, "Mbean instance is null"); assertNull(category, "Mbean instance category is null"); assertNull(id, "Mbean instance name is null"); try {/*from ww w . j a va 2 s . c o m*/ MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); ObjectName name = new ObjectName(getObjectName(category, id)); Set set = mbs.queryNames(name, null); if (set != null && set.isEmpty()) { mbs.registerMBean(mbeanInstance, name); } else { mbs.unregisterMBean(name); mbs.registerMBean(mbeanInstance, name); } } catch (Exception e) { log.warn("Error registering a MBean with name ' " + id + " ' and category name ' " + category + "' for JMX management", e); } }
From source file:org.apache.synapse.transport.passthru.jmx.MBeanRegistrar.java
public void registerMBean(Object mBeanInstance, String category, String id) throws AxisFault { assertNull(mBeanInstance, "MBean instance is null"); assertNull(category, "MBean instance category is null"); assertNull(id, "MBean instance name is null"); try {//from www . ja va2 s .co m MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); ObjectName name = new ObjectName(getObjectName(category, id)); Set set = mbs.queryNames(name, null); if (set != null && set.isEmpty()) { mbs.registerMBean(mBeanInstance, name); } else { mbs.unregisterMBean(name); mbs.registerMBean(mBeanInstance, name); } } catch (Exception e) { log.warn("Error registering a MBean with name ' " + id + " ' and category name ' " + category + "' for JMX management", e); } }
From source file:org.apache.synapse.commons.jmx.MBeanRegistrar.java
public boolean registerMBean(Object mBeanInstance, String category, String id) { assertNull(mBeanInstance, "MBean instance is null"); assertNull(category, "MBean instance category is null"); assertNull(id, "MBean instance name is null"); try {/*from w w w .j a va 2 s . com*/ MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); ObjectName name = new ObjectName(getObjectName(category, id)); Set set = mbs.queryNames(name, null); if (set != null && set.isEmpty()) { mbs.registerMBean(mBeanInstance, name); } else { mbs.unregisterMBean(name); mbs.registerMBean(mBeanInstance, name); } return true; } catch (Exception e) { log.warn("Error registering a MBean with name ' " + id + " ' and category name ' " + category + "' for JMX management", e); return false; } }
From source file:io.fabric8.test.smoke.JolokiaEndpointTestBase.java
@Test public void testJolokiaProxy() throws Exception { ContainerManager cntManager = ContainerManagerLocator.getContainerManager(); Container cnt = cntManager.getCurrentContainer(); ServiceEndpoint sep = cnt.getServiceEndpoint(URLServiceEndpoint.JOLOKIA_SERVICE_ENDPOINT_IDENTITY); URLServiceEndpoint urlsep = sep.adapt(URLServiceEndpoint.class); String serviceURL = urlsep.getServiceURL(); Assert.assertNotNull("Jolokia URL not null", serviceURL); // Get the local MBeanServer MBeanServer server = ServiceLocator.getRequiredService(MBeanServer.class); server.registerMBean(new Simple(), SimpleMXBean.OBJECT_NAME); try {// w ww . j a v a 2 s . c om SimpleMXBean proxy = JolokiaMXBeanProxy.getMXBeanProxy(serviceURL, SimpleMXBean.OBJECT_NAME, SimpleMXBean.class); // Simple string echo Assert.assertEquals("Hello: Kermit", proxy.echo("Kermit")); // Set Bean attribute using JSONObject Bean bean = new Bean("Hello", "Foo"); proxy.setBean(bean); // Get Bean attribute using JSONObject Assert.assertEquals(bean, proxy.getBean()); // Simple Bean echo using JSONObject Assert.assertEquals(bean, proxy.echoBean(bean)); } finally { server.unregisterMBean(SimpleMXBean.OBJECT_NAME); } }
From source file:org.ow2.proactive.resourcemanager.node.jmx.SigarExposer.java
public void registerMBeans(MBeanServer mbs) { try {/*from w ww . j ava 2 s. c om*/ // Create the SIGAR registry SigarRegistry registry = new SigarRegistry(); ObjectName name = new ObjectName(registry.getObjectName()); if (!mbs.isRegistered(name)) { mbs.registerMBean(registry, name); } String databaseFolder = System.getProperty(MONITORING_DB_DIR); if (databaseFolder == null || databaseFolder.trim().isEmpty()) { String fs = System.getProperty("file.separator"); databaseFolder = PAResourceManagerProperties.RM_HOME.getValueAsString() + fs + "data" + fs; } FileUtils.forceMkdir(new File(databaseFolder)); String dataBaseName = databaseFolder + nodeName + "_statistics.rrd"; setDataStore(new RRDSigarDataStore(mbs, dataBaseName, PAResourceManagerProperties.RM_RRD_STEP.getValueAsInt(), Logger.getLogger(SigarExposer.class))); name = new ObjectName("sigar:Type=Processes"); SigarProcessesMXBean processes = new SigarProcesses(dataBaseName); if (!mbs.isRegistered(name)) { mbs.registerMBean(processes, name); } } catch (Exception e) { LOGGER.error("Unable to register SigarRegistry mbean", e); } }
From source file:com.funambol.pushlistener.example.DummyJMXPlugin.java
@Override public void startPlugin() { if (logger.isInfoEnabled()) { logger.info("Starting JMXDummyPlugin"); logger.info("Registering MBean " + MBEAN_NAME); }/*from ww w. j ava 2 s. com*/ MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); try { // Construct the ObjectName for the MBean we will register ObjectName name = new ObjectName(MBEAN_NAME); mbs.registerMBean(this, name); } catch (Exception ex) { logger.error("Error registering mbean '" + MBEAN_NAME + "'", ex); } }
From source file:io.fabric8.test.smoke.JolokiaEndpointTestBase.java
@Test public void testMXBeanProxy() throws Exception { ContainerManager cntManager = ContainerManagerLocator.getContainerManager(); Container cnt = cntManager.getCurrentContainer(); ServiceEndpoint sep = cnt.getServiceEndpoint(URLServiceEndpoint.JMX_SERVICE_ENDPOINT_IDENTITY); JMXServiceEndpoint jmxEndpoint = sep.adapt(JMXServiceEndpoint.class); String serviceURL = jmxEndpoint.getServiceURL(); Assert.assertNotNull("JMX URL not null", serviceURL); // Get the local MBeanServer MBeanServer server = ServiceLocator.getRequiredService(MBeanServer.class); server.registerMBean(new Simple(), SimpleMXBean.OBJECT_NAME); try {/*from w w w.jav a 2 s. c om*/ String[] userpass = RuntimeType.KARAF == RuntimeType.getRuntimeType() ? karafJmx : otherJmx; JMXConnector jmxConnector = jmxEndpoint.getJMXConnector(userpass[0], userpass[1], 200, TimeUnit.MILLISECONDS); MBeanServerConnection con = jmxConnector.getMBeanServerConnection(); try { SimpleMXBean proxy = ManagementUtils.getMXBeanProxy(con, SimpleMXBean.OBJECT_NAME, SimpleMXBean.class); // Simple string echo Assert.assertEquals("Hello: Kermit", proxy.echo("Kermit")); // Set Bean attribute using CompositeData Bean bean = new Bean("Hello", "Foo"); proxy.setBean(bean); // Get Bean attribute using CompositeData Assert.assertEquals(bean, proxy.getBean()); // Simple Bean echo using CompositeData Assert.assertEquals(bean, proxy.echoBean(bean)); } finally { jmxConnector.close(); } } finally { server.unregisterMBean(SimpleMXBean.OBJECT_NAME); } }
From source file:io.fabric8.test.smoke.JolokiaEndpointTestBase.java
@Test public void testJolokiaEndpoint() throws Exception { ContainerManager cntManager = ContainerManagerLocator.getContainerManager(); Container cnt = cntManager.getCurrentContainer(); ServiceEndpoint sep = cnt.getServiceEndpoint(URLServiceEndpoint.JOLOKIA_SERVICE_ENDPOINT_IDENTITY); URLServiceEndpoint urlsep = sep.adapt(URLServiceEndpoint.class); String serviceURL = urlsep.getServiceURL(); Assert.assertNotNull("Jolokia URL not null", serviceURL); // Get the local MBeanServer MBeanServer server = ServiceLocator.getRequiredService(MBeanServer.class); server.registerMBean(new Simple(), SimpleMXBean.OBJECT_NAME); try {//from w ww .jav a2 s.c o m // Simple string echo J4pClient client = new J4pClient(serviceURL); J4pExecRequest execReq = new J4pExecRequest(SimpleMXBean.OBJECT_NAME, "echo", "Kermit"); J4pResponse<?> res = client.execute(execReq); Assert.assertEquals("Hello: Kermit", res.getValue()); // Set Bean attribute using JSONObject Bean bean = new Bean("Hello", "Foo"); JSONObject jsonObject = JSONTypeGenerator.toJSONObject(bean); J4pWriteRequest writeReq = new J4pWriteRequest(SimpleMXBean.OBJECT_NAME, "Bean", jsonObject); writeReq.setPreferredHttpMethod("POST"); client.execute(writeReq); // Get Bean attribute using JSONObject J4pReadRequest readReq = new J4pReadRequest(SimpleMXBean.OBJECT_NAME, "Bean"); jsonObject = client.execute(readReq).getValue(); Assert.assertEquals(bean, JSONTypeGenerator.fromJSONObject(Bean.class, jsonObject)); // Simple Bean echo using JSONObject execReq = new J4pExecRequest(SimpleMXBean.OBJECT_NAME, "echoBean", jsonObject); execReq.setPreferredHttpMethod("POST"); jsonObject = client.execute(execReq).getValue(); Assert.assertEquals(bean, JSONTypeGenerator.fromJSONObject(Bean.class, jsonObject)); } finally { server.unregisterMBean(SimpleMXBean.OBJECT_NAME); } }