Refine search
private Object invoke(String objectName, String method, Object[] params, String[] types) throws Exception { MBeanServer server = (MBeanServer) MBeanServerFactory.findMBeanServer(null).get(0); ObjectName mbean = new ObjectName(objectName); if (server == null) { throw new Exception("Can't find mbean server"); } getLog().info("invoking " + method); return server.invoke(mbean, method, params, types); }
/** * Starts instance of HtmlAdapterServer. * @deprecated */ public void start() { MBeanServer server = MBeanServerFactory.createMBeanServer(); Object html = createServer(); try { log.info("Registering HtmlAdaptorServer instance."); server.registerMBean(html, new ObjectName("Adaptor:name=html,port=8082")); log.info("Registering HierarchyDynamicMBean instance."); HierarchyDynamicMBean hdm = new HierarchyDynamicMBean(); server.registerMBean(hdm, new ObjectName("log4j:hiearchy=default")); } catch(JMException e) { log.error("Problem while registering MBeans instances.", e); return; } catch(RuntimeException e) { log.error("Problem while registering MBeans instances.", e); return; } startServer(html); } }
for (Map.Entry<ObjectName, ObjectName> entry : registeredMBeanNames.entrySet()) { ObjectName actualName = entry.getValue(); if (actualName != null && beanServer.isRegistered(actualName)) { LOG.debug("Unregistering MBean {}", actualName); mbeanServer.unregisterMBean(actualName); if (namingServiceObjectName != null && getMBeanServer().isRegistered(namingServiceObjectName)) { LOG.debug("Stopping MBean {}", namingServiceObjectName); getMBeanServer().invoke(namingServiceObjectName, "stop", null, null); List<MBeanServer> list = MBeanServerFactory.findMBeanServer(null); if (list != null && !list.isEmpty() && list.contains(beanServer)) { LOG.debug("Releasing MBeanServer {}", beanServer); MBeanServerFactory.releaseMBeanServer(beanServer);
/** * Create a new {@code MBeanServer} instance and register it with the * {@code MBeanServerFactory}, if desired. * @param defaultDomain the default domain, or {@code null} if none * @param registerWithFactory whether to register the {@code MBeanServer} * with the {@code MBeanServerFactory} * @see javax.management.MBeanServerFactory#createMBeanServer * @see javax.management.MBeanServerFactory#newMBeanServer */ protected MBeanServer createMBeanServer(@Nullable String defaultDomain, boolean registerWithFactory) { if (registerWithFactory) { return MBeanServerFactory.createMBeanServer(defaultDomain); } else { return MBeanServerFactory.newMBeanServer(defaultDomain); } }
/** * Resets MBeanServerFactory and ManagementFactory to a known consistent state. * This involves releasing all currently registered MBeanServers and resetting * the platformMBeanServer to null. */ public static void resetMBeanServers() throws Exception { for (MBeanServer server : MBeanServerFactory.findMBeanServer(null)) { MBeanServerFactory.releaseMBeanServer(server); } Field field = ManagementFactory.class.getDeclaredField("platformMBeanServer"); field.setAccessible(true); field.set(null, null); }
public static MBeanServer getMBeanServer() { List<MBeanServer> servers=MBeanServerFactory.findMBeanServer(null); if(servers != null && !servers.isEmpty()) { // return 'jboss' server if available for(int i=0; i < servers.size(); i++) { MBeanServer srv=servers.get(i); if("jboss".equalsIgnoreCase(srv.getDefaultDomain())) return srv; } // return first available server return servers.get(0); } else { //if it all fails, create a default return MBeanServerFactory.createMBeanServer(); } }
public static ObjectName registerMBean(String objTypeName, String objInstanceName, Object mbean) throws MalformedObjectNameException, InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException { String name = "com.cloud:type=" + objTypeName; if (objInstanceName != null && !objInstanceName.isEmpty()) name += ", name=" + objInstanceName; ObjectName objectName = new ObjectName(name); ArrayList<MBeanServer> server = MBeanServerFactory.findMBeanServer(null); if (server.size() > 0) { MBeanServer mBeanServer = server.get(0); if (!mBeanServer.isRegistered(objectName)) mBeanServer.registerMBean(mbean, objectName); return objectName; } else { MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer(); if (!mBeanServer.isRegistered(objectName)) mBeanServer.registerMBean(mbean, objectName); return objectName; } }
public void testGetProperty() throws Exception { MBeanServer mbeanServer = MBeanServerFactory.createMBeanServer(); ObjectName name = new ObjectName("groovy.test:role=TestMBean,type=Dummy"); // use Class.forName instead of new Dummy() to allow separate compilation mbeanServer.registerMBean(Class.forName("groovy.util.Dummy").newInstance(), name); assertEquals("JMX value of Name", "James", mbeanServer.getAttribute(name, "Name")); GroovyMBean object = new GroovyMBean(mbeanServer, name); Object value = object.getProperty("Name"); assertEquals("Name property", "James", value); object.setProperty("Name", "Bob"); assertEquals("Name property", "Bob", object.getProperty("Name")); // now let's look up the name via JMX to check assertEquals("JMX value of Name", "Bob", mbeanServer.getAttribute(name, "Name")); assertEquals("Location : London|Name : Bob|Size : 12", join(sort(object.listAttributeValues()), "|")); assertEquals("start|stop", join(sort(object.listOperationNames()), "|")); assertEquals("void start()", join(sort(object.describeOperation("start")), "|")); assertEquals("(rw) java.lang.String Location", object.describeAttribute("Location")); } }
MBeanServer mBeanServer = MBeanServerFactory.findMBeanServer(null).get( 0); ObjectName name = null; try { name = new ObjectName("Catalina", "type", "Server"); } catch (MalformedObjectNameException e1) { e1.printStackTrace(); server = (Server) mBeanServer.getAttribute(name, "managedResource"); } catch (AttributeNotFoundException | InstanceNotFoundException | MBeanException | ReflectionException e) {
private void cleanupMBeanServer() throws MalformedObjectNameException, MBeanRegistrationException, InstanceNotFoundException { ArrayList<MBeanServer> servers = MBeanServerFactory.findMBeanServer(null); for (MBeanServer server : servers) { ObjectName naming = new ObjectName("Catalina:*"); for (ObjectInstance object : server.queryMBeans(naming, null)) { server.unregisterMBean(object.getObjectName()); } } } }
/** * Unregisters MBean from JMX repository * * @param domain the domain to unregister MBean from * @param keys the MBean keys * @return true if MBean has been unregistered successfully, false otherwise */ public static boolean unregisterMBean(String domain, Hashtable<String, String> keys) { ArrayList<MBeanServer> servers = MBeanServerFactory.findMBeanServer(null); MBeanServer defServer = servers.get(0); ObjectName name; try { name = new ObjectName(domain, keys); defServer.unregisterMBean(name); return true; } catch (MalformedObjectNameException | MBeanRegistrationException | InstanceNotFoundException ex) { logger.error("unregister.error: " + ex.getMessage(), ex); } return false; }
@Test public void domain() throws Exception { MBeanServer mbs = MBeanServerFactory.createMBeanServer(); conf.setName("managementtest"); conf.withManagement().setEnabled(true).setMBeanServer(mbs).setDomain("com.acme"); init(); ObjectName on = new ObjectName("com.acme:name=managementtest,service=" + CacheMXBean.MANAGED_SERVICE_NAME); prestart(); CacheMXBean mxBean = (CacheMXBean) MBeanServerInvocationHandler.newProxyInstance(mbs, on, CacheMXBean.class, false); assertEquals(0, mxBean.getSize()); MBeanServerFactory.releaseMBeanServer(mbs); }
public void testOutboundGateWayJmxAttributes() throws Exception { final List<MBeanServer> servers = MBeanServerFactory.findMBeanServer(null); assertEquals(1, servers.size()); final Set<ObjectName> objectNames = server.queryNames( ObjectName.getInstance("org.springframework.integration.jdbc.test:name=my gateway.storedProcExecutor,*"), null); assertEquals(1, objectNames.size()); ObjectName name = objectNames.iterator().next(); Map<String, Object> cacheStatistics = (Map<String, Object>) server.getAttribute(name, "JdbcCallOperationsCacheStatisticsAsMap"); (Map<String, Object>) server.getAttribute(name, "JdbcCallOperationsCacheStatisticsAsMap");
public static void unregisterMBean(ObjectName name) throws MalformedObjectNameException, MBeanRegistrationException, InstanceNotFoundException { ArrayList<MBeanServer> server = MBeanServerFactory.findMBeanServer(null); if (server.size() > 0) { MBeanServer mBeanServer = server.get(0); mBeanServer.unregisterMBean(name); } else { MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer(); mBeanServer.unregisterMBean(name); } }
try { LOG.tracev( "Unregistering registered MBean [ON={0}]", objectName ); mBeanServer.unregisterMBean( objectName ); LOG.trace( "Attempting to release created MBeanServer" ); try { MBeanServerFactory.releaseMBeanServer( mBeanServer );
/** * {@inheritDoc} */ @Override public int getDefaultTimeout() { try { MBeanServer server = (MBeanServer)MBeanServerFactory.findMBeanServer(null).iterator().next(); return (Integer)server.getAttribute(ObjectName.getInstance("jboss:service=TransactionManager"), "TransactionTimeout"); } catch (Exception e) { throw new IllegalStateException(e); } } }
public static MBeanServer getMBeanServer() throws Exception { if (mbeanServer == null) { if (MBeanServerFactory.findMBeanServer(null).size() > 0) { mbeanServer = MBeanServerFactory.findMBeanServer(null).get(0); } else { mbeanServer = MBeanServerFactory.createMBeanServer(); } } return mbeanServer; }
/** * Retourne la liste de tous les {@link javax.management.MBeanServer}. * @return List */ private static List<MBeanServer> getMBeanServers() { // par exemple avec JBoss 5.0.x, il y a un MBeanServer de la plateforme (defaultDomain null) // et un MBeanServer de JBoss (defaultDomain "jboss") return MBeanServerFactory.findMBeanServer(null); } }
/** * Locate the MBean server to use based on user input from startup. * * @return The MBean server to use. */ private MBeanServer findServer() { if ( usePlatformServer ) { // they specified to use the platform (vm) server return ManagementFactory.getPlatformMBeanServer(); } // otherwise lookup all servers by (optional) agentId. // IMPL NOTE : the findMBeanServer call treats a null agentId to mean match all... ArrayList<MBeanServer> mbeanServers = MBeanServerFactory.findMBeanServer( agentId ); if ( defaultDomain == null ) { // they did not specify a domain by which to locate a particular MBeanServer to use, so chose the first return mbeanServers.get( 0 ); } for ( MBeanServer mbeanServer : mbeanServers ) { // they did specify a domain, so attempt to locate an MBeanServer with a matching default domain, returning it // if we find it. if ( defaultDomain.equals( mbeanServer.getDefaultDomain() ) ) { return mbeanServer; } } return null; }
try { Iterator iter = mbeanServer.queryNames(null, null).iterator(); while (iter.hasNext()) { ObjectName name = (ObjectName) iter.next(); if (name.getDomain().startsWith(DEFAULT_DOMAIN)) { unregisterMBean(name); MBeanServerFactory.releaseMBeanServer(mbeanServer); mbeanServer = null; } catch (JMRuntimeException e) {