java之JMX
java之JMX
有关JMX的定义和架构就不具体解释了。见百度百科:
url=6QzGGEqphTmpft3ll5mXmDNVRdvLRZhkvGaqAWyO6EliwrHeIwt5bdMd188iMlzylxoxr7gRbtIWn2NQODBLZa
代码实例:
package com.doctor.java.jmx; /**
* @author sdcuike
*
* @time 2016年2月9日 下午9:47:04
*
* @see http://www.journaldev.com/1352/what-is-jmx-mbean-jconsole-tutorial
* The interface name must end with MBean
*/
public interface SystemConfigMBean {
public void setThreadCount(int noOfThreads); public int getThreadCount(); public void setSchemaName(String schemaName); public String getSchemaName(); // any method starting with get and set are considered
// as attributes getter and setter methods, so I am
// using do* for operation.
public String doConfig(); }
package com.doctor.java.jmx; /**
* @author sdcuike
*
* @time 2016年2月9日 下午9:51:53
*/
public class SystemConfig implements SystemConfigMBean { private int threadCount;
private String schemaName; public SystemConfig(int threadCount, String schemaName) {
this.threadCount = threadCount;
this.schemaName = schemaName;
} @Override
public void setThreadCount(int noOfThreads) {
this.threadCount = noOfThreads; } @Override
public int getThreadCount() {
return threadCount;
} @Override
public void setSchemaName(String schemaName) {
this.schemaName = schemaName; } @Override
public String getSchemaName() {
return schemaName;
} @Override
public String doConfig() {
return "No of Threads=" + this.threadCount + " and DB Schema Name=" + this.schemaName; } }
然后我们创建一个測试样例:
package com.doctor.java.jmx; import java.lang.management.ManagementFactory;
import java.util.concurrent.TimeUnit; import javax.management.InstanceAlreadyExistsException;
import javax.management.MBeanRegistrationException;
import javax.management.MBeanServer;
import javax.management.MalformedObjectNameException;
import javax.management.NotCompliantMBeanException;
import javax.management.ObjectName; /**
* @author sdcuike
*
* @time 2016年2月9日 下午9:56:27
*/
public class SystemConfigManagement { private static final int DEFAULT_NO_THREADS = 10;
private static final String DEFAULT_SCHEMA = "default"; public static void main(String[] args) throws MalformedObjectNameException, InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException, InterruptedException {
// Get the MBean server
MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer(); // register the MBean
SystemConfig systemConfig = new SystemConfig(DEFAULT_NO_THREADS, DEFAULT_SCHEMA);
ObjectName objectName = new ObjectName("com.doctor.java.jmx:type=SystemConfig");
mBeanServer.registerMBean(systemConfig, objectName); do {
TimeUnit.SECONDS.sleep(3);
System.out.println("Thread Count=" + systemConfig.getThreadCount() + ":::Schema Name=" + systemConfig.getSchemaName());
} while (systemConfig.getThreadCount() != 0);
} }
执行:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
java之JMX的更多相关文章
- 杂项-Java:JMX
ylbtech-杂项-Java:JMX 1.返回顶部 1. JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序.设备.系统等植入管理功能的框架.JMX可 ...
- Java之JMX 详解
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt194 一.JMX简介 JMX是一种JAVA的正式规范,它主要目的是让程序有被 ...
- [转]Java之JMX 详解
一.JMX简介 JMX是一种JAVA的正式规范,它主要目的是让程序有被管理的功能,那么怎么理解所谓的“被管理”呢?试想你开发了一个软件(如WEB网站),它是在24小时不间断运行的,那么你可能会想要“监 ...
- 【JAVA】JMX简单使用方法
[BEAN] 配置 <!-- JMX 对应的接口服务--> <bean id="emailInterfaceServer" class="com.s ...
- java 通过jmx获取active mq队列消息
一.修改active mq配置文件 修改\conf\activemq.xml,带下划线部分 <!-- Licensed to the Apache Software Foundation (AS ...
- Zabbix 通过 JMX 监控 java 进程
参考: [ JMX monitoring ] [ Zabbix Java gateway ] [ JMX Monitoring (Java Gateway) not Working ] [ Monit ...
- 使用JMX Exporter监控Rainbond上的Java应用
场景 Prometheus 社区开发了 JMX Exporter 用于导出 JVM 的监控指标,以便使用 Prometheus 来采集监控数据.当您的 Java 应用部署在Rainbond上后 可通过 ...
- JMX示例
HelloJMXMBean.java package jmx; /** * Created by george on 14-8-21. */ public interface HelloJMXMBea ...
- JVM Input Arguments Lookup (JMX)(转)
JVM Input Arguments Lookup (JMX) Maps JVM input arguments -- but not main arguments -- using JMX to ...
随机推荐
- poj--1789--Truck History(prim)
Truck History Time Limit: 2000MS Memory Limit: 65536KB 64bit IO Format: %I64d & %I64u Submit ...
- rest_framework(解析器 上)
rest_framework 解析器 对请求题数据进行解析 url from django.conf.urls import url,include from cmdb import views ur ...
- HDFS的配额
- C语言基础-第一章
1.常量 直接常量: int mm=100; float nn=100.01; 字符常量: 编译指令,#define 常量名 常量值 (预处理命令,预处理命令都#开头.成为宏命令) 关键字, ...
- PostgreSQL服务器存储参数的内部查看方法和实际表述之间的关系
postgres=# show wal_buffers ; wal_buffers ------------- 4MB(1 row) postgres=# show port; port ------ ...
- JTable表格案例
package com.szht.gpy.frame; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import ...
- nginx省去每次查看进程操作
在我们想要关闭.重启等操作时需要查看 nginx 的进程,那么有没有一种方法省去查看的步骤? kill -HUP `cat lo ...
- centos7 安装 Python netsnmp模块
由于模块的安装过程中有点艰难(其实挺简单,只是参照网上的教程很多都装不成功,花了很多时间...),所以记下来备忘. 先装一下python-devel 模块,执行命令 yum install pytho ...
- 用Python定时爬取网站最新资源
记录一下. 写做个网站,爬了另一个网站的内容来做自己网站的内容. 把脚本挂到服务器,每隔一个小时去爬一次资源,然后保存到一个HTML文件里. 用flask做web对接,当有请求的时候就返回那个HTML ...
- jumpserver 新建用户收不到邮件
在设置邮件开启pop3/smtp/imap 时 会提示要设置授权码 重启jumpserver 遇到错误 163 邮箱没有收到密码 点击更新没有效果 测试连接成功以后 ,删除用户 ,然后 重新 创建一 ...