2016-04-26 18 views
3

https://github.com/spring-projects/spring-boot/blob/master/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfiguration.java春ブーツでAnnotationMBeanExporter上のデフォルトのRegistrationPolicy

をオーバーライドすると、設定されている

RegistrationPolicy.FAIL_ON_EXISTING 

を示しています。

スタンドアロンのtcserverで作成されたスプリングブートを使用しています。 古いバージョンが展開される前に新しい展開が行われるため、複数のバージョンを展開できます。

私はすでにアプリケーション間での衝突を避けるために

spring.jmx.default-domain=[app name] 

を使用しています...しかし、

私たちは、同じの異なるバージョン間で、当社のデータソースMBeanの

UnableToRegisterMBeanException: Unable to register MBean with key 'dataSourceMBean' 
    nested exception is javax.management.InstanceAlreadyExistsException 

のようなエラーが表示されている

アプリ。

私はhttp://docs.spring.io/spring/docs/current/spring-framework-reference/html/jmx.html#jmx-exporting-registration-behaviorあたりとして

RegistrationPolicy.IGNORE_EXISTING 

を設定したいと思います。

ObjectNamingStrategyとdefaultDomainを維持しながら、これを簡単に行うことはできますか?私はJmxAutoConfigurationをすべてオーバーライドする必要はありません。

spring.jmx.mbeanExporter.registrationPolicy 

春ブーツプロパティは

乾杯

答えて

2

この質問はいくつかの時間前に頼まれたと多分あなたはすでに答えを見つけたが、私は私の2を与えるがない

恥ここで私はこの問題に直面し、私のために働く解決策を見つけました。

は当初、私が行うために必要なものを完全に明確ではありませんでしたが、慎重に同じ春のマニュアルを読むとき、私はあなたがクラス注釈

@EnableMBeanExport(registration=RegistrationPolicy.IGNORE_EXISTING)を導入することにより、SpringBootに登録動作を制御することができます考え出したあなたは、あなたの質問に提供します

MBeanが既に登録されている場合、Springが2番目のJMX登録を無視できるようにするにはat the spring documentation here

関連する問題