以前、Spring Boot + HikariCPでコネクションプールのMetricsを取得する というブログを書きました。

「Spring BootでHikariCPを使う場合、そのままだとHikariCPのメトリクスがJMXで取れない状態なので、自分でワークアラウンド的な設定をする必要があります」
という内容でした。


このブログ書いた直後、Spring Bootにp-r出したくてissue立ててやり取りを始めました。
ある日から突いても反応が無くなったのでもう良いやと思って放置してたのですが、
最近別の人からも同様のissueが上がり、それを期にNicollさんがSpring Boot側で対応してくれました。


この修正で、spring.datasource.hikari.register-mbeansという設定項目が追加されたので、
自分のapplication.properties(もしくはyml)にspring.datasource.hikari.register-mbeans=true
という設定を追加すればOKです。
設定が少しだけ簡単になりましたね。


試しに、以下の様に設定をしてみると、

1
2
spring.datasource.hikari.pool-name=mypool
spring.datasource.hikari.register-mbeans=true

こんな感じでメトリクスが取れるようになりました。
(spring.datasource.hikari.pool-nameは必須ではありません。お好みでどうぞ)


なお、この修正はmasterにマージ済ですが、これを含むバージョン2.0.0.M3は、2017/07/04現在まだリリースされてません。
僕はsnapshotで動作確認をしました。M3がリリースされるのを待ちましょう。



ちなみに、Spring Boot 2.0のリリースノートはこちらにまとまっています。

Spring Boot 2.0からデフォルトのコネクションプールライブラリがTomcat JDBC Connection PoolからHikariCPに変更になるようです。
リリース済のSpring Boot 2.0.0 M2で既に変更済です。



Spring Boot 2.0は今年中にはGAがリリースされるようです。
同梱されるSpringのバージョンが5になります。
GAリリースが楽しみですね!



今回動作確認を行った時のサンプルソースは以下に置いてます。