@Component
@EnableScheduling
@Controller
public class HikariDataTest {
private HikariPoolMXBean poolProxy;
@PostConstruct
public void test() {
new Thread(()->{
HikariDataSource hikaridatasource = new HikariDataSource();
("jdbc:mysql://192.168.31.15:96?characterEncoding=utf8&useTimezone=true&serverTimezone=GMT%2B8&useSSL=false");
("root");
("");***
("");
(true);
("HikariConnectionPool");
MBeanServer mBeanServer = ();
ObjectName poolName = null;
try {
poolName = new ObjectName(":type=Pool (" + () + ")");
} catch (MalformedObjectNameException e) {
();
}
poolProxy = (mBeanServer, poolName, );
Connection conn = null;
try {
conn = ();
} catch (SQLException e) {
();
}
Statement sm = null;
try {
sm = ();
} catch (SQLException e) {
();
}
ResultSet rs = null;
for (int i = 0; i < 999999999; i++) {
try {
rs = ("select username from pg_security_db.sys_user ");
} catch (SQLException e) {
();
}
}
try {
();
} catch (SQLException e) {
();
}
try {
();
} catch (SQLException e) {
();
}
try {
();
} catch (SQLException e) {
();
}
();
}).start();
}
@Scheduled(cron = "0/10 * * * * *")
public void HikariMonitor() {
if(poolProxy == null) {
("Hikari not initialized,please wait...");
}else {
("HikariPoolState = "
+ "Active=[" + (() + "] "
+ "Idle=[" + (() + "] "
+ "Wait=["+()+"] "
+ "Total=["+()+"]")));
}
}
}
相关文章
- Hikari线程池状态监控
- Spring HikariDataSource Hikari数据库连接池监控 总连接数/活跃连接数/空闲连接数/阻塞在获取连接的线程数
- Java利用线程工厂监控线程池
- 【Java多线程】线程状态、线程池状态
- Python进阶----异步同步,阻塞非阻塞,线程池(进程池)的异步+回调机制实行并发, 线程队列(Queue, LifoQueue,PriorityQueue), 事件Event,线程的三个状态(就绪,挂起,运行) ,***协程概念,yield模拟并发(有缺陷),Greenlet模块(手动切换),Gevent(协程并发)
- 使用 HertzBeat 对 线程池框架 DynamicTp 进行监控实践
- Java多线程 线程池的生命周期及运行状态
- 教你如何监控 Java 线程池运行状态的操作(必看)
- Java线程及线程池状态
- Java实现监控多个线程状态的简单实例