javax.management.JMX类的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(14.2k)|赞(0)|评价(0)|浏览(278)

本文整理了Java中javax.management.JMX类的一些代码示例,展示了JMX类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JMX类的具体详情如下:
包路径:javax.management.JMX
类名称:JMX

JMX介绍

暂无

代码示例

代码示例来源:origin: neo4j/neo4j

  1. private DiagnosticsReportSource newReportsBeanSource( String destination, ReportsInvoker reportsInvoker )
  2. {
  3. return DiagnosticsReportSources.newDiagnosticsString( destination, () ->
  4. {
  5. try
  6. {
  7. ObjectName name = new ObjectName( "org.neo4j:instance=kernel#0,name=Reports" );
  8. Reports reportsBean = JMX.newMBeanProxy( mBeanServer, name, Reports.class );
  9. return reportsInvoker.invoke( reportsBean );
  10. }
  11. catch ( MalformedObjectNameException ignored )
  12. {
  13. }
  14. return "Unable to invoke ReportsBean";
  15. } );
  16. }

代码示例来源:origin: apache/geode

  1. public AccessControlMXBean getAccessControlMBean() throws Exception {
  2. return JMX.newMXBeanProxy(con, new ObjectName("GemFire:service=AccessControl,type=Distributed"),
  3. AccessControlMXBean.class);
  4. }

代码示例来源:origin: apache/geode

  1. this.url = new JMXServiceURL(MessageFormat.format(JMX_URL_FORMAT,
  2. checkAndConvertToCompatibleIPv6Syntax(host), String.valueOf(port)));
  3. this.connector = JMXConnectorFactory.connect(url, env);
  4. this.mbsc = connector.getMBeanServerConnection();
  5. this.connector.addConnectionNotificationListener(new JMXConnectionListener(this), null, null);
  6. this.distributedSystemMXBeanProxy = JMX.newMXBeanProxy(mbsc,
  7. MBeanJMXAdapter.getDistributedSystemName(), DistributedSystemMXBean.class);
  8. } else {
  9. this.managerMemberObjectName = this.distributedSystemMXBeanProxy.getMemberObjectName();
  10. if (this.managerMemberObjectName == null || !JMX.isMXBeanInterface(MemberMXBean.class)) {
  11. logger.info("MemberMXBean with ObjectName " + this.managerMemberObjectName
  12. + " is not present on member with endpoints : " + endpoints);
  13. } else {
  14. this.memberMXBeanProxy =
  15. JMX.newMXBeanProxy(mbsc, managerMemberObjectName, MemberMXBean.class);
  16. this.fileUploadMBeanProxy = JMX.newMBeanProxy(mbsc,
  17. new ObjectName(ManagementConstants.OBJECTNAME__FILEUPLOADER_MBEAN),
  18. FileUploaderMBean.class);

代码示例来源:origin: apache/geode

  1. @Override
  2. public <T> T getMBeanProxy(final ObjectName objectName, final Class<T> mbeanInterface) {
  3. if (DistributedSystemMXBean.class.equals(mbeanInterface)
  4. && ManagementConstants.OBJECTNAME__DISTRIBUTEDSYSTEM_MXBEAN.equals(objectName.toString())) {
  5. return mbeanInterface.cast(getDistributedSystemMXBean());
  6. } else if (JMX.isMXBeanInterface(mbeanInterface)) {
  7. return JMX.newMXBeanProxy(getMBeanServerConnection(), objectName, mbeanInterface);
  8. } else {
  9. return JMX.newMBeanProxy(getMBeanServerConnection(), objectName, mbeanInterface);
  10. }
  11. }

代码示例来源:origin: camelinaction/camelinaction2

  1. public void connect(String serviceUrl) throws Exception {
  2. JMXServiceURL url = new JMXServiceURL(serviceUrl);
  3. connector = JMXConnectorFactory.connect(url, null);
  4. connection = connector.getMBeanServerConnection();
  5. // create a mbean proxy so we can use the type safe api
  6. ObjectName on = new ObjectName("org.apache.camel:context=camel-1,type=context,name=\"camel-1\"");
  7. proxy = JMX.newMBeanProxy(connection, on, ManagedCamelContextMBean.class);
  8. }

代码示例来源:origin: QSFT/Doradus

  1. private synchronized void setConnection() throws IOException {
  2. if (connection == null) {
  3. jmxServiceURL = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://"
  4. + host + ":" + port + "/jmxrmi");
  5. JMXConnector jmxc = JMXConnectorFactory
  6. .connect(jmxServiceURL, null);
  7. connection = jmxc.getMBeanServerConnection();
  8. runtimeServiceProxy = (RuntimeMXBean) JMX.newMXBeanProxy(
  9. connection, runtimeServiceName, RuntimeMXBean.class);
  10. osServiceProxy = (OperatingSystemMXBean) JMX.newMXBeanProxy(
  11. connection, osServiceName, OperatingSystemMXBean.class);
  12. logger.info("MBean server connected.");
  13. lockedMessages.clear();
  14. }
  15. }

代码示例来源:origin: org.jboss.jbossts.arjunacore/arjuna

  1. /**
  2. * Construct a holder for Participant and Recovery Store proxies. There is one instance for each connection
  3. * to a JVM. In practice there will only ever be one instance.
  4. *
  5. * @param serviceUrl the url for the MBean server to connect to. Use default to connect to the local MBean Server
  6. * @param listener optionally register a listener for notifications
  7. * @throws JMException if there are JMX errors during registration of MBeans and notification listeners
  8. * @throws IOException if there are errors on the connection to the MBean Server
  9. */
  10. private StoreManagerProxy(String serviceUrl, NotificationListener listener) throws JMException, IOException {
  11. if ("default".equals(serviceUrl)) {
  12. mbsc = JMXServer.getAgent().getServer();
  13. } else {
  14. // create an RMI connector
  15. JMXServiceURL url = new JMXServiceURL(serviceUrl);
  16. // connect to the target MBean server
  17. jmxc = JMXConnectorFactory.connect(url, null);
  18. mbsc = jmxc.getMBeanServerConnection();
  19. }
  20. recoveryStoreON = ObjectName.getInstance(RECOVERY_BEAN_NAME);
  21. participantStoreON = ObjectName.getInstance(PARTICIPANT_BEAN_NAME);
  22. rsProxy = new RecoveryStoreProxy(JMX.newMBeanProxy( mbsc, recoveryStoreON, RecoveryStoreBeanMBean.class, true));
  23. psProxy = new ParticipantStoreProxy(JMX.newMBeanProxy( mbsc, participantStoreON, ParticipantStoreBeanMBean.class, true));
  24. if (listener != null) {
  25. mbsc.addNotificationListener(recoveryStoreON, listener, null, null);
  26. mbsc.addNotificationListener(participantStoreON, listener, null, null);
  27. }
  28. }

代码示例来源:origin: com.strapdata.cassandra/cassandra-all

  1. private List<Entry<String, ColumnFamilyStoreMBean>> getCFSMBeans(MBeanServerConnection mbeanServerConn, String type)
  2. throws MalformedObjectNameException, IOException
  3. {
  4. ObjectName query = new ObjectName("org.apache.cassandra.db:type=" + type +",*");
  5. Set<ObjectName> cfObjects = mbeanServerConn.queryNames(query, null);
  6. List<Entry<String, ColumnFamilyStoreMBean>> mbeans = new ArrayList<Entry<String, ColumnFamilyStoreMBean>>(cfObjects.size());
  7. for(ObjectName n : cfObjects)
  8. {
  9. String keyspaceName = n.getKeyProperty("keyspace");
  10. ColumnFamilyStoreMBean cfsProxy = JMX.newMBeanProxy(mbeanServerConn, n, ColumnFamilyStoreMBean.class);
  11. mbeans.add(new AbstractMap.SimpleImmutableEntry<String, ColumnFamilyStoreMBean>(keyspaceName, cfsProxy));
  12. }
  13. return mbeans;
  14. }

代码示例来源:origin: org.apache.cassandra/cassandra-all

  1. public ColumnFamilyStoreMBean getCfsProxy(String ks, String cf)
  2. {
  3. ColumnFamilyStoreMBean cfsProxy = null;
  4. try
  5. {
  6. String type = cf.contains(".") ? "IndexColumnFamilies" : "ColumnFamilies";
  7. Set<ObjectName> beans = mbeanServerConn.queryNames(
  8. new ObjectName("org.apache.cassandra.db:type=*" + type +",keyspace=" + ks + ",columnfamily=" + cf), null);
  9. if (beans.isEmpty())
  10. throw new MalformedObjectNameException("couldn't find that bean");
  11. assert beans.size() == 1;
  12. for (ObjectName bean : beans)
  13. cfsProxy = JMX.newMBeanProxy(mbeanServerConn, bean, ColumnFamilyStoreMBean.class);
  14. }
  15. catch (MalformedObjectNameException mone)
  16. {
  17. System.err.println("ColumnFamilyStore for " + ks + "/" + cf + " not found.");
  18. System.exit(1);
  19. }
  20. catch (IOException e)
  21. {
  22. System.err.println("ColumnFamilyStore for " + ks + "/" + cf + " not found: " + e);
  23. System.exit(1);
  24. }
  25. return cfsProxy;
  26. }

代码示例来源:origin: com.facebook.hadoop/hadoop-core

  1. private NameNodeMXBean getNamenodeMxBean()
  2. throws IOException, MalformedObjectNameException {
  3. // Get an MBeanServerConnection on the remote VM.
  4. MBeanServerConnection remote = connector.getMBeanServerConnection();
  5. ObjectName mxbeanName = new ObjectName(
  6. "hadoop:service=NameNode,name=NameNodeInfo");
  7. return JMX.newMXBeanProxy(remote, mxbeanName, NameNodeMXBean.class);
  8. }

代码示例来源:origin: org.drools/drools-compiler

  1. LOG.debug("{}", mbserver.queryNames(new ObjectName("org.kie:kcontainerId="+ObjectName.quote(kc1ID)+",*"), null) );
  2. KieContainerMonitorMXBean c1Monitor = JMX.newMXBeanProxy(
  3. mbserver,
  4. DroolsManagementAgent.createObjectNameBy(kc1ID),
  5. assertEquals(releaseId1.getVersion(), c1Monitor.getResolvedReleaseId().getVersion());
  6. KieContainerMonitorMXBean c2Monitor = JMX.newMXBeanProxy(
  7. mbserver,
  8. DroolsManagementAgent.createObjectNameBy("Matteo"),
  9. assertEquals(3, mbserver.queryNames(new ObjectName("org.kie:kcontainerId="+ObjectName.quote(kc1ID)+",*"), null).size());
  10. kc.dispose();
  11. assertEquals(0, mbserver.queryNames(new ObjectName("org.kie:kcontainerId="+ObjectName.quote(kc1ID)+",*"), null).size());

代码示例来源:origin: aragozin/jvm-tools

  1. public MemoryPoolPoller(MBeanServerConnection mserver, MemoryPoolEventConsumer consumer) {
  2. this.consumer = consumer;
  3. try {
  4. ObjectName name = new ObjectName("java.lang:type=MemoryPool,name=*");
  5. for(ObjectName on: mserver.queryNames(name, null)) {
  6. MemoryPoolMXBean mpool = JMX.newMXBeanProxy(mserver, on, MemoryPoolMXBean.class);
  7. MemPoolTracker tracker = init(mpool);
  8. trackers.put(tracker.poolName, tracker);
  9. }
  10. } catch (Exception e) {
  11. throw new RuntimeException(e);
  12. }
  13. }

代码示例来源:origin: Evolveum/midpoint

  1. private QuartzSchedulerMBean getMBeanProxy(String nodeName, MBeanServerConnection mbsc) throws MalformedObjectNameException {
  2. String mbeanNameAsString = "quartz:type=QuartzScheduler,name=midPointScheduler,instance=" + nodeName;
  3. ObjectName mbeanName = new ObjectName(mbeanNameAsString);
  4. try {
  5. if (mbsc.isRegistered(mbeanName)) {
  6. return JMX.newMBeanProxy(mbsc, mbeanName, QuartzSchedulerMBean.class, true);
  7. } else {
  8. LOGGER.trace("MBean " + mbeanNameAsString + " is not registered at " + nodeName);
  9. return null;
  10. }
  11. } catch (IOException e) {
  12. LoggingUtils.logUnexpectedException(LOGGER, "Cannot communicate with remote node via JMX", e);
  13. return null;
  14. }
  15. }

代码示例来源:origin: io.takari.nexus/nexus-perf

  1. public Agent(final JMXServiceURL jmxServiceURL) {
  2. this.jmxServiceURL = jmxServiceURL;
  3. try {
  4. log.info("Connecting to {}...", jmxServiceURL);
  5. JMXConnector connector = JMXConnectorFactory.connect(jmxServiceURL, null);
  6. connection = connector.getMBeanServerConnection();
  7. ObjectName controlBeanName = new ObjectName(PerformanceTestMBean.class.getPackage().getName(), "name", "control");
  8. controlBean = JMX.newMBeanProxy(connection, controlBeanName, PerformanceTestMBean.class, false);
  9. connection.addNotificationListener(controlBeanName, (notification, handback) -> {
  10. if (notification instanceof AttributeChangeNotification) {
  11. AttributeChangeNotification acn = (AttributeChangeNotification) notification;
  12. if ("running".equals(acn.getAttributeName())
  13. && Boolean.FALSE.equals(acn.getNewValue()) && Boolean.TRUE.equals(acn.getOldValue())) {
  14. if (finishSignal != null) {
  15. finishSignal.countDown();
  16. }
  17. }
  18. }
  19. }, null, null);
  20. }
  21. catch (Exception e) {
  22. log.debug("Could not connect to {}: {}", jmxServiceURL, e.toString());
  23. throw Throwables.propagate(e);
  24. }
  25. }

代码示例来源:origin: lsc-project/lsc

  1. /**
  2. * Bind to the JMX Server
  3. */
  4. public boolean jmxBind() {
  5. try {
  6. String sUrl = "service:jmx:rmi:///jndi/rmi://" + hostname + ":" + port + "/jmxrmi";
  7. LOGGER.info("Connecting to remote engine on : " + sUrl);
  8. url = new JMXServiceURL(sUrl);
  9. jmxC = new RMIConnector(url, null);
  10. jmxC.connect();
  11. jmxc = jmxC.getMBeanServerConnection();
  12. ObjectName lscServerName = new ObjectName("org.lsc.jmx:type=LscServer");
  13. lscServer = JMX.newMXBeanProxy(jmxc, lscServerName, LscServer.class, true);
  14. return true;
  15. } catch (MalformedObjectNameException e) {
  16. LOGGER.error(e.toString(), e);
  17. } catch (NullPointerException e) {
  18. LOGGER.error(e.toString(), e);
  19. } catch (MalformedURLException e) {
  20. LOGGER.error(e.toString(), e);
  21. } catch (IOException e) {
  22. LOGGER.error(e.toString(), e);
  23. }
  24. return false;
  25. }

代码示例来源:origin: io.snappydata/gemfire-core

  1. this.url = new JMXServiceURL(MessageFormat.format(JMX_URL_FORMAT, checkAndConvertToCompatibleIPv6Syntax(host), String.valueOf(port)));
  2. this.connector = JMXConnectorFactory.connect(url, env);
  3. this.mbsc = connector.getMBeanServerConnection();
  4. this.connector.addConnectionNotificationListener(new JMXConnectionListener(this), null, null);
  5. this.connector.connect(); // TODO this call to connect is not needed
  6. this.distributedSystemMXBeanProxy = JMX.newMXBeanProxy(mbsc, MBeanJMXAdapter.getDistributedSystemName(), DistributedSystemMXBean.class);
  7. if (this.distributedSystemMXBeanProxy == null || !JMX.isMXBeanInterface(DistributedSystemMXBean.class)) {
  8. LogWrapper.getInstance().info("DistributedSystemMXBean is not present on member with endpoints : "+this.endpoints);
  9. connector.close();
  10. if (this.managerMemberObjectName == null || !JMX.isMXBeanInterface(MemberMXBean.class)) {
  11. LogWrapper.getInstance().info("MemberMXBean with ObjectName "+this.managerMemberObjectName+" is not present on member with endpoints : "+endpoints);
  12. this.connector.close();
  13. this.memberMXBeanProxy = JMX.newMXBeanProxy(mbsc, managerMemberObjectName, MemberMXBean.class);

代码示例来源:origin: Talend/tesb-rt-se

  1. public FeaturesServiceMBean createFeaturesServiceMBeanProxy(
  2. MBeanServerConnection mbsc) throws MalformedObjectNameException,
  3. NullPointerException, InstanceNotFoundException, IOException {
  4. echo("\n>>> Create FeatureService MBean <<<");
  5. ObjectName mbeanName = new ObjectName(
  6. "org.apache.karaf:type=features,name=trun");
  7. FeaturesServiceMBean featuresServiceMBeanProxy = JMX.newMBeanProxy(
  8. mbsc, mbeanName, FeaturesServiceMBean.class, true);
  9. echo("\n>>> Add notification listener to FeatureService MBean <<<");
  10. mbsc.addNotificationListener(mbeanName, clientListener, null, null);
  11. return featuresServiceMBeanProxy;
  12. }

代码示例来源:origin: io.fabric8.itests/fabric-itests-common

  1. @Override
  2. public Object call() throws Exception {
  3. long time = 0;
  4. while (time <= timeout) {
  5. try {
  6. JMXServiceURL url = new JMXServiceURL(container.getJmxUrl());
  7. Map env = new HashMap();
  8. String[] creds = {"admin", "admin"};
  9. env.put(JMXConnector.CREDENTIALS, creds);
  10. JMXConnector jmxc = JMXConnectorFactory.connect(url, env);
  11. MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();
  12. mbsc.getObjectInstance(mbeanName);
  13. return JMX.newMBeanProxy(mbsc, mbeanName, clazz, true);
  14. } catch (Exception e) {
  15. Thread.sleep(2000L);
  16. time += 2000L;
  17. }
  18. }
  19. return null;
  20. }
  21. });

代码示例来源:origin: spotify/cassandra-opstools

  1. private static DynamicEndpointSnitchMBean getDSnitchMbean(JMXServiceURL jmxUrl, Map<String, Object> env) throws IOException, MalformedObjectNameException {
  2. JMXConnector jmxc = JMXConnectorFactory.connect(jmxUrl, env);
  3. MBeanServerConnection mbeanServerConn = jmxc.getMBeanServerConnection();
  4. Set<ObjectName> objs = mbeanServerConn.queryNames(null, null);
  5. ObjectName realName = null;
  6. // in cassandra 1.1, the mbean has a "random" instance number, listing mbeans and finding the real one.
  7. for (ObjectName ob : objs) {
  8. if (ob.getCanonicalName().contains("DynamicEndpointSnitch"))
  9. realName = ob;
  10. }
  11. if (realName != null)
  12. return JMX.newMBeanProxy(mbeanServerConn, realName, DynamicEndpointSnitchMBean.class);
  13. else
  14. throw new RuntimeException("Could not find the DynamicEndpointSnitch mbean!");
  15. }

代码示例来源:origin: org.apache.geode/gemfire-core

  1. Class interfaceClass) throws ClassNotFoundException,
  2. IntrospectionException {
  3. boolean isMXBean = JMX.isMXBeanInterface(interfaceClass);
  4. boolean notificationBroadcaster = ((FederationComponent) monitoringRegion
  5. .get(objectName.toString())).isNotificationEmitter();

相关文章