SpringBoot:JMX的基本使用

90 篇文章 2 订阅
订阅专栏

1. 声明

当前内容主要为学习和使用SpringBoot注册JMX的操作,主要方便管理需要的类

当前内容来源: SpringBoot官方文档

主要内容为:

  1. 使用SpringBoot注册JMX中的MBean
  2. 使用jconsole查看和修改属性

基本的pom依赖

<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>2.2.13.RELEASE</version>
</parent>
<properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
	</dependency>
</dependencies>

2. 基本demo

application.properties的内容

spring.jmx.enabled=true

mysqldb.properties的内容

jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=123456
# mysql connector timeout check 
jdbc.maxIdle=216000
jdbc.validationQuery=select 1
jdbc.validationQueryTimeout=1800
jdbc.testOnBorrow=true
jdbc.testWhileIdle=true

配置类AppConfig

@Configuration
@PropertySource(value = {"mysqldb.properties"})
@EnableConfigurationProperties(value = { MySQLDBProperties.class})
public class AppConfig {
}

MySQLDBProperties

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.jmx.export.annotation.ManagedAttribute;
import org.springframework.jmx.export.annotation.ManagedResource;

/**
 * @description 当前内容主要为对应SQLServerDB的数据库配置文件中的属性
 * @author hy
 * @createTime 2021-03-31 13:26:36
 **/
@ConfigurationProperties(prefix = "jdbc")
@ManagedResource("com.hy.springboot.jmx.test.properties:type=MySQLDBProperties,name=MySQLDBProperties")
public class MySQLDBProperties {
	private String url;
	private String driverClassName;
	private String username;
	private String password;
	private Integer maxIdle;
	private Integer validationQueryTimeout;
	private String validationQuery;
	private Boolean testOnBorrow; // 是否在使用的时候进行检查操作
	private Boolean testWhileIdle;// 测试是否已经不能使用了

	@ManagedAttribute
	public Boolean getTestOnBorrow() {
		return testOnBorrow;
	}

	@ManagedAttribute
	public void setTestOnBorrow(Boolean testOnBorrow) {
		this.testOnBorrow = testOnBorrow;
	}

	@ManagedAttribute
	public Boolean getTestWhileIdle() {
		return testWhileIdle;
	}

	@ManagedAttribute
	public void setTestWhileIdle(Boolean testWhileIdle) {
		this.testWhileIdle = testWhileIdle;
	}

	@ManagedAttribute
	public Integer getValidationQueryTimeout() {
		return validationQueryTimeout;
	}

	@ManagedAttribute
	public void setValidationQueryTimeout(Integer validationQueryTimeout) {
		this.validationQueryTimeout = validationQueryTimeout;
	}

	@ManagedAttribute
	public String getValidationQuery() {
		return validationQuery;
	}

	@ManagedAttribute
	public void setValidationQuery(String validationQuery) {
		this.validationQuery = validationQuery;
	}

	@ManagedAttribute
	public Integer getMaxIdle() {
		return maxIdle;
	}

	@ManagedAttribute
	public void setMaxIdle(Integer maxIdle) {
		this.maxIdle = maxIdle;
	}

	@ManagedAttribute
	public String getUrl() {
		return url;
	}

	@ManagedAttribute
	public void setUrl(String url) {
		this.url = url;
	}

	@ManagedAttribute
	public String getDriverClassName() {
		return driverClassName;
	}

	@ManagedAttribute
	public void setDriverClassName(String driverClassName) {
		this.driverClassName = driverClassName;
	}

	@ManagedAttribute
	public String getUsername() {
		return username;
	}

	@ManagedAttribute
	public void setUsername(String username) {
		this.username = username;
	}

	@ManagedAttribute
	public String getPassword() {
		return password;
	}

	@ManagedAttribute
	public void setPassword(String password) {
		System.out.println("设置新的密码为:" + password);
		this.password = password;
	}
}

主要借助:@ManagedAttribute和@ManagedResource来实现操作

入口类:基本的main方法

3. 执行结果

在这里插入图片描述

使用jconsole连接并查看MBean结果
在这里插入图片描述
在这里插入图片描述

使用JMX可将一些需要的信息注册,然后通过jconsole动态查看运行中的属性,也可以修改属性

spring boot 实战,springboot实战项目,Java
09-11
4? 第1章会对Spring Boot进行概述,内容涵盖最基本的自动配置、起步依赖、命令行界面和Actuator。? 第2章会进一步深入Spring Boot,重点介绍自动配置和起步依赖。在这一章里,你将用很少的显式配置来构建一个完整的Spring应用程序。? 第3章是对第2章的补充,演示了如何通过设置应用程序属性来改变自动配置,或者在自动配置无法满足需要时彻底覆盖它。? 在第4章里我们会看到如何为Spring Boot应用程序编写自动化集成测试。? 在第5章里你将看到一种有别于传统Java开发方式的做法,Spring Boot CLI能让你通过命令行来运行应用程序,这个应用程序完全是由Groovy脚本构成的。? 讲到Groovy,第6章会介绍Grails 3,这是Grails框架的最新版本,它基于Spring Boot。? 在第7章里你将看到如何通过Spring Boot的Actuator了解运行中的应用程序,以及它是如何工作的。你还会看到如何使用Actuator的Web端点、远程shell和JMX MBean对应用程序一窥究竟。? 第8章讨论了各种部署Spring Boot应用程序的方法,包括传统的应用程序服务器部署和云部署。
mmorpg:java编写的轻量级高级mmorpg手游服务端框架,集成的springboot基本功能逐步完善中
02-04
项目介绍 mmorpg,是一个用java编写的轻量级高级mmorpg手游服务端框架。项目提供各种支持快速二次开发的组件,以及对生产环境的服务进行管理的工具。同时,为了使用户能够快速上手,项目提供了一些常用业务功能作为演示。 项目特点 使用状态同步实现pk技能同步 允许socket / websocket同时连接,兼容手游/页游服务端架构 有独立http后台网站,为游戏运维/运营提供支持 框架提供多种组件,可以直接二次开发业务逻辑 提供热更机制以及jmx接口,方便对生产项目进行监控与维护 进行使用springboot组件进行建造 使用spring / springboot的组件 名称 用途 弹簧
Java 监控基础 - 使用 JMX 监控和管理 Java 程序
最新发布
2401_84002409的博客
04-01 860
又是一年求职季,在这里,我为各位准备了一套Java程序员精选高频面试笔试真题,来帮助大家攻下BAT的offer,题目范围从初级的Java基础到高级的分布式架构等等一系列的面试题和答案,用于给大家作为参考以下是部分内容截图正体系化!**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
Spring JMX编程学习(五)- SpringBoot自动注册
m0_37607945的博客
11-26 573
系列文章目录 Java管理扩展JMX入门学习 Spring JMX编程学习(一)- 手动注册bean到MBeanServer Spring JMX编程学习(二)- 以Bean的方式注册MbeanServer Spring JMX编程学习(三)- 自定义JMX客户端 Spring JMX编程学习(四)- MBeans自动探测与注解 Spring JMX编程学习(五)- SpringBoot自动注册 文章目录系列文章目录 前言 一、Spring Boot中使用JMX的方式 二、客户端调用的问题 三、是否面向
SpringBoot自动配置原理
Monkeydesigner的博客
10-09 228
SpringBoot的自动配置
SpringBoot JMX 实现监控业务数据
qq_36109069的博客
02-14 1083
一、JMX介绍 1、简介 JMX的全称为Java Management Extensions,是管理Java的一种扩展。这种机制可以方便的管理正在运行中的Java程序。常用于管理线程,内存,日志Level,服务重启,系统环境等。 2、架构图 Instrumentation层: 该层定义了如何实现JMX管理资源的规范。一个JMX管理资源可以是一个Java应用、一个服务或一个设备,它们可以用Java...
Spring Boot提供的产品就绪功能:通过JMX进行监控和管理
听海边涛声
02-20 337
Spring Boot提供的产品就绪功能:通过JMX进行监控和管理
Springboot整合JMX进行程序运行监控
IT- 研究者
03-10 4822
一、JMX简介 JMX的全称为Java Management Extensions. 顾名思义,是管理Java的一种扩展。这种机制可以方便的管理正在运行中的Java程序。常用于管理线程,内存,日志Level,服务重启,系统环境等。 JMX的架构图如下: 从上面的架构图可以看到JMX主要分三层,分别是: 1、设备层(Instrumentation Level) 主要定义了信息模型。在...
springBoot使用jmx
sunxj1222的博客
04-26 2021
一、springBoot添加jmx package com.study.config; import java.rmi.registry.Registry; import javax.management.remote.JMXConnectorServer; import org.springframework.beans.factory.annotation.Value; import...
springboot服务启动JMX监控
爱琴孩的博客
01-18 2222
java应用部署下在生产环境,肯定是少不了监控的,比如说我们想要监控JVM的线程使用情况,内存使用情况等等。
【Spring】SpringBoot 如何使用JMX
九师兄
09-20 1728
在:【Spring】Spring 如何更改动态更改运行中某个类的日志级别中最后一张图中,可以看到程序员高手是使用JMX来操作动态修改日志级别的,下面我们就来试试。
tasks:Spring Boot和ActiveMQ Artemis的生产者消费者微服务教程
03-21
-> DTO的映射器记录中测验使用DataJpaTest的存储库使用DataMongoTest的存储库使用Mockito的服务使用WebMvcTest的端点使用OpenPojo的Pojos和Dtos JMX入门使用Docker简化开发本教程的目的是提供一个Producer消费者...
Spring in Action(第2版)中文版
04-09
12.4使用jmx管理springbean 12.4.1将springbean输出为mbean 12.4.2远程访问mbean 12.4.3处理通知 12.5小结 第三部分spring客户端 第13章处理web请求 13.1开始springmvc之旅 13.1.1请求生命中的一天 13.1.2...
基于微服务的车票管理系统源码+项目说明+sql数据库.tar
11-16
+ 基于jmx和visualVM监控业务服务的内存和CPU消耗 ### 4. 网络编程 + 利用Httpclient调用第三方API,利用FastJSON解析响应 + :star:利用Scheduled开启CompletableFuture任务,利用Jsoup每日定期爬取新闻热搜 【备注...
spring boot 源码解析43-JmxMetricWriter详解
热门推荐
qq_26000415的博客
01-29 1万+
前言本文我们来介绍JmxMetricWriter, JmxMetricWriter是依赖于spring jmx 来实现的. 因此本文的开头先介绍一下spring boot 与jmx的集成,然后分析JmxMetricWriter源码.spring boot jmx 首先确保在pom文件中加入了如下依赖:<dependency> <groupId>org.springframework.boot
三十一、Springboot整合JMX(监控)
panchang199266的博客
10-26 9402
(一)JMX规范和应用场景介绍   参见Java分布式应用学习笔记08JMX规范与常用的监控场景 (二)Springboot整合JMX 1、暴露MBean @Component @ManagedResource( objectName = "org.pc.jmx:type=SimpleBean", description = "这里是描述" ) public cla...
Spring Boot条件化自动装配
通往神秘的道路的专栏
05-10 4069
标准@Configuration类是自动装配的底层实现,并且搭配Spring Framework @Conditional注解,使其能合理地在不同环境中运作。在《SpringBoot自动装配》中讨论过,@EnableAutoConfiguration利用AutoConfigurationImportFilter实现类OnClassCondition等过滤非法自动装配Class,从而间接地接触条件注解@ConditionalOnClass。 条件注解@ConditionalOnClass采用元标注@Cond
zookeeper启动报错:JMX enabled by default,服务未启动
SHOKO2022
08-04 1万+
JMX enabled by default Using config: /export/server/zookeeper-3.4.6/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
springboot 集成jmx
09-06
在Spring Boot中集成JMX(Java Management Extensions)可以让你管理和监控应用程序的运行时状态。下面是一个简单的步骤指南: 1. 在pom.xml文件中添加以下依赖关系: ```xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jolokia</artifactId> </dependency> </dependencies> ``` 2. 在application.properties或application.yml配置文件中启用JMX: ```properties spring.jmx.enabled=true ``` 3. 创建一个MBean(Managed Bean)以公开你感兴趣的指标和操作。例如,创建一个名为MyMBean的接口: ```java public interface MyMBean { String getName(); void setName(String name); // 添加其他你想要公开的方法或属性 } ``` 4. 创建一个实现接口的MBean实现类: ```java @Component public class MyMBeanImpl implements MyMBean { private String name; @Override public String getName() { return name; } @Override public void setName(String name) { this.name = name; } } ``` 5. 启动应用程序并访问JMX服务器。你可以使用任何JMX客户端(例如JConsole、VisualVM等)连接到应用程序,查看和操作公开的MBean。 这是一个简单的示例,你可以根据自己的需求扩展和定制。通过使用JMX,你可以监控和管理Spring Boot应用程序的各个方面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • MySQL之定义变量 36438
  • SpringBoot复习:SpringBoot启动失败问题之DataSource问题 17639
  • Java:使用javaparser格式化Java源文件 16993
  • WORD解析:使用poi解析doc和docx 14878
  • HBuilderX:在HBuilderX中使用vue-router并实现页面的跳转 13906

分类专栏

  • 工作 1篇
  • SpringBoot 90篇
  • MyBatis3 3篇
  • Spring5 18篇
  • SpringCloud 12篇
  • Vert.X 3篇
  • MySQL数据库 14篇
  • MongoDB数据库 5篇
  • 时序数据库 12篇
  • Neo4j3.5 2篇
  • Java 49篇
  • Python3 43篇
  • Python3基础重学 4篇
  • Pandas 5篇
  • numpy 8篇
  • Django 3篇
  • Flask 3篇
  • pygame 1篇
  • Netty 7篇
  • C 16篇
  • C++ 7篇
  • Activiti工作流 12篇
  • Elasticsearch 11篇
  • Apache Solr 2篇
  • Apache DS 4篇
  • Apache Cassandra 6篇
  • Apache Commons 3篇
  • Apache Rocketmq 7篇
  • Apache Kafka 12篇
  • Apache Hadoop 6篇
  • Apache HBase 21篇
  • Apache Hive 12篇
  • Apache Flink 9篇
  • Apache Storm 2篇
  • Apache Spark 8篇
  • Apache Shiro 6篇
  • Apache Dubbo 5篇
  • Apache Zookeeper 12篇
  • 消息队列 77篇
  • Linux 25篇

最新评论

  • Vert.x:一个简单的Http文件上传下载的demo

    路上^_^: 大佬我这里报错 能看看不 版本是 3.4.2 我擦一直报错.人嘛了

  • PDF写出:使用fop输出为pdf格式文件的Demo

    dzbxq89: 这个已经很古老了,最新的版本解析xsl或者xslt都会提示失败,只找到解析fo的方式,fo还没找到动态填值的方式表情包

  • Apache Commons:简单的使用Configuration读取和修改配置文件

    weixin_42552838: 谢谢大佬无私分享,自己写的修改properties文件 乱七八糟的还改变了键值对顺序,还是得用阿帕奇的轮子表情包

  • Apache Kafka:使用java方式操作消费组和重置分区偏移量(admin api)

    A_WEI_86: 当前我想重置kafka某个消费组的偏移量,达到数据重新消费的目的,也是一直报错:org.apache.kafka.common.errors.UnknownMemberIdException: Failed altering consumer group offsets for the following partitions: xxx。文中提到需要关闭消费者和生产者,那如何在代码中动态控制生产者、消费组打开和关闭呢?

  • SpringBoot中使用jpa实现一对多(或者多对一)的处理(纯注解的实现方式)

    晚风以北过南巷: org.postgresql.util.PSQLException: 错误: 字段 user0_.id 不存在使用注解报这个错

大家在看

  • Kafka Topic原理与代码实例讲解
  • 2024 年科技裁员综合清单
  • Scala期末试题
  • 基于51单片机的气压检测【MPX4115,上位机】(仿真) 138
  • 能下载各类书籍的pdf电子书网站 226

最新文章

  • MyCat|Shardingsphere-proxy:jdbc连接MySQL8.0.33的query_cache_size异常解决方案
  • Apache Pdfbox:向pdf文件中写入图片
  • Java Swing:自定义压缩工具
2023年2篇
2022年37篇
2021年166篇
2020年168篇
2019年117篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

4617作文网酒店公司名起周公解梦梦见吃大便股票周六周日可以交易不电动车公司起名大全姓罗什么起名字中国周易文化起名字女孩缺金缺火周公解梦梦见苹果宝可梦剑盾像素破解版下载宝宝起100分的名字职业邮箱起名方法网上算命起名周易本义pdf公拉布拉多犬起名字周易64卦名称大全周公解梦之梦见自己结婚张四字起名瓷都算命免费周易测算打分周易在线免费测名付费算命网周易占卜的如何解卦广州算命哪里准宝宝起名字哪里起的好周公解梦p解梦 穿高跟鞋周易女孩取名字肖姓胎儿起名嘴唇无名肿起来了是什么原因陈梦后面起个啥女孩名字淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男子给前妻转账 现任妻子起诉要回网友建议重庆地铁不准乘客携带菜筐月嫂回应掌掴婴儿是在赶虫子重庆警方辟谣“男子杀人焚尸”国产伟哥去年销售近13亿新的一天从800个哈欠开始男孩疑遭霸凌 家长讨说法被踢出群高中生被打伤下体休学 邯郸通报男子持台球杆殴打2名女店员被抓19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警两大学生合买彩票中奖一人不认账德国打算提及普京时仅用姓名山西省委原副书记商黎光被逮捕武汉大学樱花即将进入盛花期今日春分张家界的山上“长”满了韩国人?特朗普谈“凯特王妃P图照”王树国3次鞠躬告别西交大师生白宫:哈马斯三号人物被杀代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了房客欠租失踪 房东直发愁倪萍分享减重40斤方法“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火手机成瘾是影响睡眠质量重要因素考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼网友洛杉矶偶遇贾玲呼北高速交通事故已致14人死亡西双版纳热带植物园回应蜉蝣大爆发男孩8年未见母亲被告知被遗忘张立群任西安交通大学校长恒大被罚41.75亿到底怎么缴沈阳一轿车冲入人行道致3死2伤奥运男篮美国塞尔维亚同组周杰伦一审败诉网易国标起草人:淀粉肠是低配版火腿肠外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万杨倩无缘巴黎奥运男子被猫抓伤后确诊“猫抓病”春分“立蛋”成功率更高?记者:伊万改变了国足氛围奥巴马现身唐宁街 黑色着装引猜测

4617作文网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化