最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Hikari連接池使用SpringBoot配置JMX監(jiān)控實現(xiàn)

 更新時間:2021年07月09日 09:32:08   作者:sev7n  
Hikari是Spring Boot默認的數(shù)據(jù)庫連接池。區(qū)別于C3P0直接通過連接池對象獲取各項狀態(tài)指標,Hikari需要通過JMX來獲取。本文就詳細的來介紹一下,感興趣的可以了解一下

Hikari是Spring Boot默認的數(shù)據(jù)庫連接池。區(qū)別于C3P0直接通過連接池對象獲取各項狀態(tài)指標,Hikari需要通過JMX來獲取。Demo如下,采用Spring Boot集成,定時采集連接狀態(tài)。

public static void main(String[] args) throws SQLException, MalformedObjectNameException, InterruptedException {
 SpringApplication.run(HikariTest.class, args);
 HikariDataSource hikaridatasource = new HikariDataSource();
 hikaridatasource.setJdbcUrl("jdbc:mysql://localhost:3306?serverTimezone=GMT");
 hikaridatasource.setUsername("root");
 hikaridatasource.setPassword("");
 hikaridatasource.setDriverClassName("com.mysql.cj.jdbc.Driver");
 hikaridatasource.setRegisterMbeans(true);
 hikaridatasource.setPoolName("HikariConnectionPool");
 MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
 ObjectName poolName = new ObjectName("com.zaxxer.hikari:type=Pool (" + hikaridatasource.getPoolName() + ")");
 poolProxy = JMX.newMXBeanProxy(mBeanServer, poolName, HikariPoolMXBean.class);
 Connection conn = hikaridatasource.getConnection();
 Statement sm = conn.createStatement();
 ResultSet rs = null;
 for (int i = 0; i < 999999999; i++) {
  rs = sm.executeQuery("select name from test.t1");
 }
 rs.close();
 sm.close();
 conn.close();
 hikaridatasource.close();
}

@Scheduled(fixedRate = 1000)
public void HikariMonitor() {
 if(poolProxy == null) {
  log.info("Hikari not initialized,please wait...");
 }else {
  log.info("HikariPoolState = "
  + "Active=[" + String.valueOf(poolProxy.getActiveConnections() + "] "
  + "Idle=[" + String.valueOf(poolProxy.getIdleConnections() + "] "
  + "Wait=["+poolProxy.getThreadsAwaitingConnection()+"] "
  + "Total=["+poolProxy.getTotalConnections()+"]")));
 } 
}

另外,在github有提到這樣的issue:

ObjectName poolName = new ObjectName("com.zaxxer.hikari:type=Pool (" + hikaridatasource.getPoolName() + ")");

可能會拋錯

22:06:23.231 [main] DEBUG com.zaxxer.hikari.HikariConfig - Driver class com.mysql.cj.jdbc.Driver found in Thread context class loader sun.misc.Launcher$AppClassLoader@73d16e93
Exception in thread "main" java.lang.reflect.UndeclaredThrowableException
 at com.sun.proxy.$Proxy2.getIdleConnections(Unknown Source)
 at com.zte.hikariTest.HikariTest.main(HikariTest.java:32)
Caused by: javax.management.InstanceNotFoundException: com.zaxxer.hikari:type=Pool (foo)
 at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(Unknown Source)
 at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(Unknown Source)
 at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(Unknown Source)
 at com.sun.jmx.mbeanserver.MXBeanProxy$GetHandler.invoke(Unknown Source)
 at com.sun.jmx.mbeanserver.MXBeanProxy.invoke(Unknown Source)
 at javax.management.MBeanServerInvocationHandler.invoke(Unknown Source)
 ... 2 more

這是因為Hikari設置參數(shù)同樣支持setHikariConfig和配置文件兩種配置方式,請選擇其中一種進行配置,而不是二者一起使用。并且請配置屬性如下,否則 JMX 無法生效。

hikaridatasource.setRegisterMbeans(true);

代碼效果如下所示

2019-03-09 02:05:04.738 INFO com.zte.hikariTest.HikariTest.69 -HikariPoolState = Active=[1] Idle=[9] Wait=[0] Total=[10]
2019-03-09 02:05:05.740 INFO com.zte.hikariTest.HikariTest.69 -HikariPoolState = Active=[1] Idle=[9] Wait=[0] Total=[10]
2019-03-09 02:05:06.732 INFO com.zte.hikariTest.HikariTest.69 -HikariPoolState = Active=[1] Idle=[9] Wait=[0] Total=[10]
2019-03-09 02:05:07.738 INFO com.zte.hikariTest.HikariTest.69 -HikariPoolState = Active=[1] Idle=[9] Wait=[0] Total=[10]

到此這篇關于Hikari連接池使用SpringBoot配置JMX監(jiān)控的文章就介紹到這了,更多相關SpringBoot配置JMX監(jiān)控內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Spring Boot web項目的TDD流程

    Spring Boot web項目的TDD流程

    TDD(Test-driven development) 測試驅動開發(fā),簡單點說就是編寫測試,再編寫代碼。這是首要一條,不可動搖的一條,先寫代碼后寫測試的都是假TDD。
    2021-05-05
  • Springboot的啟動原理詳細解讀

    Springboot的啟動原理詳細解讀

    這篇文章主要介紹了Springboot的啟動原理詳細解讀,springboot項目一般都是打包成jar包直接運行main方法啟動,當然也可以跟傳統(tǒng)的項目一樣打包war包放在tomcat里面啟動.那么springboot怎么直接通過main方法啟動呢,需要的朋友可以參考下
    2023-11-11
  • SpringBoot+fileUpload獲取文件上傳進度

    SpringBoot+fileUpload獲取文件上傳進度

    這篇文章主要為大家詳細介紹了SpringBoot+fileUpload獲取文件上傳進度,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Web容器啟動過程中如何執(zhí)行Java類

    Web容器啟動過程中如何執(zhí)行Java類

    這篇文章主要介紹了Web容器啟動過程中如何執(zhí)行Java類,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • 解決IDEA2021版compiler.automake.allow.when.app.running不存在的問題

    解決IDEA2021版compiler.automake.allow.when.app.running不存在的問題

    很多文章介紹IntelliJ IDEA開啟熱部署功能都會寫到在IntelliJ IDEA中的注冊表中開啟compiler.automake.allow.when.app.running選項,此選項在IntelliJ IDEA 2021.2之后的版本遷移到高級設置中,下面看下設置方法
    2021-09-09
  • 鄰接表無向圖的Java語言實現(xiàn)完整源碼

    鄰接表無向圖的Java語言實現(xiàn)完整源碼

    這篇文章主要介紹了鄰接表無向圖的Java語言實現(xiàn)完整源碼,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • jmeter如何自動生成測試報告

    jmeter如何自動生成測試報告

    這篇文章主要介紹了jmeter如何自動生成測試報告,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • IDEA設置字體隨鼠標滾動放大縮小的實現(xiàn)

    IDEA設置字體隨鼠標滾動放大縮小的實現(xiàn)

    這篇文章主要介紹了IDEA設置字體隨鼠標滾動放大縮小的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • SpringBoot實現(xiàn)單文件上傳

    SpringBoot實現(xiàn)單文件上傳

    這篇文章主要為大家詳細介紹了SpringBoot實現(xiàn)單文件上傳,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Java設計模式之java訪問者模式詳解

    Java設計模式之java訪問者模式詳解

    這篇文章主要介紹了JAVA設計模式之訪問者模式,簡單說明了訪問者模式的原理,并結合實例分析了java訪問者模式的定義與用法,需要的朋友可以參考下
    2021-09-09

最新評論

舟山市| 容城县| 南开区| 丁青县| 库伦旗| 江山市| 固阳县| 财经| 蕲春县| 西藏| 龙岩市| 讷河市| 巴林左旗| 洪泽县| 琼中| 遵义县| 海林市| 共和县| 应城市| 灯塔市| 新宁县| 莫力| 家居| 锡林郭勒盟| 石楼县| 平山县| 抚顺县| 女性| 阿合奇县| 海淀区| 普兰县| 闽清县| 砀山县| 星子县| 菏泽市| 嘉黎县| 滁州市| 阿拉善右旗| 宜阳县| 铜山县| 本溪市|