自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JMX監(jiān)控原理與使用詳解(手把手教你JMX)

開發(fā) 前端
JMX(Java Management Extensions),含義為Java管理擴(kuò)展的縮寫,是一個(gè)為應(yīng)用程序植入管理功能的框架,提供了一種簡(jiǎn)單的、標(biāo)準(zhǔn)的監(jiān)控和管理資源的方式。

JMX

JMX(Java Management Extensions),含義為Java管理擴(kuò)展的縮寫,是一個(gè)為應(yīng)用程序植入管理功能的框架,提供了一種簡(jiǎn)單的、標(biāo)準(zhǔn)的監(jiān)控和管理資源的方式。

JMX 應(yīng)用場(chǎng)景

JMX有以下典型的應(yīng)用場(chǎng)景:

  • 監(jiān)控應(yīng)用程序的運(yùn)行狀態(tài)和相關(guān)統(tǒng)計(jì)信息;
  • 修改應(yīng)用程序的配置(無需重啟);
  • 狀態(tài)變化或出錯(cuò)時(shí)通知處理。

舉個(gè)例子,我們可以通過jconsole監(jiān)控應(yīng)用程序的堆內(nèi)存使用量、線程數(shù)、類數(shù),查看某些配置信息,甚至可以動(dòng)態(tài)地修改配置。

下圖是使用Jconsle通過JMX查看Java程序的運(yùn)行信息:

圖片圖片

JMX最常見的場(chǎng)景是監(jiān)控Java程序的基本信息和運(yùn)行情況,任何Java程序都可以開啟JMX,然后使用JConsole或VisualVM進(jìn)行預(yù)覽。

JMX 的技術(shù)架構(gòu)

圖片圖片

從圖中我們可以看到,JMX的結(jié)構(gòu)一共分為三層:

1、基礎(chǔ)層:主要是MBean,被管理的資源。

MBean分為如下四種:

圖片圖片

2、適配層:主要是提供對(duì)資源的注冊(cè)和管理。

Agent層 用來管理相應(yīng)的資源,并且為遠(yuǎn)端用戶提供訪問的接口。

Agent層主要定義了各種服務(wù)以及通信模型,該層的核心是 MBeanServer,所有的MBean都要向它注冊(cè),才能被管理。

注冊(cè)在MBeanServer上的MBean并不直接和遠(yuǎn)程應(yīng)用程序進(jìn)行通信,他們通過 協(xié)議適配器(Adapter) 和 連接器(Connector) 進(jìn)行通信。

通常Agent由一個(gè)MBeanServer和多個(gè)系統(tǒng)服務(wù)組成。

3、接入層:提供遠(yuǎn)程訪問的入口。

怎么使用JMX

下面我們就簡(jiǎn)單的使用jmx來實(shí)現(xiàn)配置bean屬性的動(dòng)態(tài)修改,動(dòng)態(tài)修改的意思就是在不重啟服務(wù)器的情況下,實(shí)現(xiàn)配置屬性的變更。

第一步:提供管理信息

1) 首先定義一個(gè)MBean接口,接口的命名規(guī)范為以具體的實(shí)現(xiàn)類為前綴(這個(gè)規(guī)范很重要)

//接口要以MBean結(jié)尾
public interface HelloMBean {
    String getName();
    void setName(String name);
}

2)定義一個(gè)實(shí)現(xiàn)類,實(shí)現(xiàn)上面的接口

//實(shí)現(xiàn)類跟接口在同一個(gè)包中,且名字不包含MBean
public class Hello implements HelloMBean {
    private String name;
    @Override
    public String getName() {
        System.out.println("Hello.getName");
        return name;
    }
    @Override
    public void setName(String name) {
        this.name = name;
        System.out.println("Hello.setName");
    }
}

第二步:使用jconsole連接

jconsole是jdk自帶工具,在配置了jdk環(huán)境之后,我們只需要在cmd命令行中輸入jconsole即可。

如下圖所示:

圖片圖片

然后我們就可以在這里來進(jìn)行Name屬性的修改。

第三步:控制打印結(jié)果

圖片 圖片

責(zé)任編輯:武曉燕 來源: mikechen的互聯(lián)網(wǎng)架構(gòu)
相關(guān)推薦

2021-07-14 09:00:00

JavaFX開發(fā)應(yīng)用

2022-12-07 08:42:35

2021-08-02 07:35:19

Nacos配置中心namespace

2011-01-10 14:41:26

2011-05-03 15:59:00

黑盒打印機(jī)

2020-05-15 08:07:33

JWT登錄單點(diǎn)

2021-03-12 10:01:24

JavaScript 前端表單驗(yàn)證

2022-07-22 12:45:39

GNU

2021-12-15 08:49:21

gpio 子系統(tǒng)pinctrl 子系統(tǒng)API

2022-10-30 10:31:42

i2ccpuftrace

2021-01-19 09:06:21

MysqlDjango數(shù)據(jù)庫(kù)

2022-01-08 20:04:20

攔截系統(tǒng)調(diào)用

2023-04-26 12:46:43

DockerSpringKubernetes

2022-07-27 08:16:22

搜索引擎Lucene

2022-03-14 14:47:21

HarmonyOS操作系統(tǒng)鴻蒙

2021-02-26 11:54:38

MyBatis 插件接口

2011-02-22 13:46:27

微軟SQL.NET

2021-12-28 08:38:26

Linux 中斷喚醒系統(tǒng)Linux 系統(tǒng)

2011-05-06 10:02:42

jqueryjavascript

2021-07-09 17:27:58

ButterKnife工具APT
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)