2017-03-29 13 views
1

SpringブートアプリケーションでHikariCPにJMX MBeanを使用するには?SpringブートアプリケーションでHikariCPにJMX MBeanを使用するには?

@SpringBootApplication 
public class App() { ... } 

そして、他のクラス:Javaのミッションコントロール(またはJMXコンソール)で

@Configuration 
public class DatabaseCfg() { 
@Bean 
@ManagedOperation 
public DataSource ds (@Value("${hikari.proprerties}") String config) { 
HikariConfig hikariConfig = new HikariConfig(config); 
return new HikariDataSource(hikariConfig); 
} 

のこぎりのみデータソースは、Beanを管理し、ないHikariCPためのJMXのMBean(link)私はこのようなコードを持っています。それを追加することも可能ですか?

+0

何もしないでください。あなたはSpring Bootをスマート化しようとしています。 Springブートはデータソースを設定します(これは自動的に 'application.properties'に適切な依存関係と設定を追加するだけです) –

答えて

0

私はあなたのhikariConfigを信じて、いくつかの追加設定をする必要があります。 MBeanを登録し、コンフィグレーションにプール名を設定する必要があります。

HikariConfig hiakriConfig = new HikariConfig(config); 
hikariConfig.setRegisterMbeans(true); 
kikariConfig.setPoolName("my-pool-1"); 

はい、明らかにこれらのプロパティも同様にドライブできます。あなたのプロパティファイルにリストされていないものを含めているかどうかは分かりません。また、@Value( "$ {ds.proprerties}")は@Value( "$ {ds.properties}")にする必要がありますが、スペルのプロパティが間違っていることに注意してください。すべてのプロパティを設定するかどうかを再度確認したい場合があります。

+0

Thanx!しかし動作しません ds.propertiesは、誤解しないようにhikari.propertiesに名前が変更されました。プロパティはこのファイルから問題なく読み込まれます コードについて hikariConfig.setRegisterMbeans(true); では、JMXがデフォルトでSpringブート(@SpringBootApplicationアノテーション)で有効になっているため、アプリケーションを起動すると、すでに登録されているこのBeanがスローされます。 – BlackJonnie

関連する問題