2015-10-28 4 views
9

私は既存のSpring MVC Webアプリケーションを持っています。これで、スプリング・ブート・スターター・アクチュエーターにあるヘルス・チェック機能を使用したいだけです。既存のwebappのスプリングブートヘルスチェック

私は春のブートに慣れていないので、完全なプロジェクトを健康診断のためのスプリングブートプロジェクトに変換する必要があるかどうかはわかりません。依存関係を含めるだけで、何らかの形で必要な機能のみを有効にすることはできますか?

答えて

11

私はそれを自分で考え出しました。 spring-boot-starter-actuatorの代わりにspring-boot-actuatorが含まれています。そして私は@SpringBootApplicationを使ってアプリケーションを初期化する必要はありません。代わりに、今必要なauto-configクラスをインポートするだけです。設定クラスは今、この

@Configuration 
@ComponentScan(basePackages = { "org.example" }) 
@Import({MyApplicationContext.class, EndpointWebMvcAutoConfiguration.class, 
    ManagementServerPropertiesAutoConfiguration.class, EndpointAutoConfiguration.class, 
    HealthIndicatorAutoConfiguration.class}) 
@PropertySource("classpath:app.properties") 
@EnableWebMvc 
public class MyWebApplicationContext { 
... 
} 

EndpointWebMvcAutoConfigurationのように見えますので、それをインポートする必要がありましたManagementServerPropertiesに依存します。これは私のための裸の最小構成と思われる。もっと良い方法があれば教えてください

+0

また、PublicMetricsAutoConfiguration.classをインポートして、_/metrics_エンドポイントで利用可能なjvm/threadsメトリックを取得することもできます。 – Angad

+1

spring-boot-adminを使用して、非スプリングブートアプリケーションを監視する方法は? – user34567

+0

それは私のために働く、Thax! –

2

まずはsidgate's answerが正しいと教えてください。 しかし、誰かがすべての測定基準を有効にするか、別の測定基準を選択する必要があるかもしれません。

あなたはまだ、すべてのメトリック

@org.springframework.context.annotation.Configuration 
@org.springframework.boot.autoconfigure.EnableAutoConfiguration 
@org.springframework.boot.actuate.autoconfigure.ManagementContextConfiguration 
public class MyApplicationContext { 
} 

@EnableAutoConfiguration

org.springframework.boot.actuate.autoconfigure.AuditAutoConfiguration, 
org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration, 
org.springframework.boot.actuate.autoconfigure.CrshAutoConfiguration, 
org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration, 
org.springframework.boot.actuate.autoconfigure.EndpointMBeanExportAutoConfiguration, 
org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration, 
org.springframework.boot.actuate.autoconfigure.HealthIndicatorAutoConfiguration, 
org.springframework.boot.actuate.autoconfigure.InfoContributorAutoConfiguration, 
org.springframework.boot.actuate.autoconfigure.JolokiaAutoConfiguration, 
org.springframework.boot.actuate.autoconfigure.ManagementServerPropertiesAutoConfiguration, 
org.springframework.boot.actuate.autoconfigure.ManagementWebSecurityAutoConfiguration, 
org.springframework.boot.actuate.autoconfigure.MetricFilterAutoConfiguration, 
org.springframework.boot.actuate.autoconfigure.MetricRepositoryAutoConfiguration, 
org.springframework.boot.actuate.autoconfigure.MetricsDropwizardAutoConfiguration, 
org.springframework.boot.actuate.autoconfigure.MetricsChannelAutoConfiguration, 
org.springframework.boot.actuate.autoconfigure.MetricExportAutoConfiguration, 
org.springframework.boot.actuate.autoconfigure.PublicMetricsAutoConfiguration, 
org.springframework.boot.actuate.autoconfigure.TraceRepositoryAutoConfiguration, 
org.springframework.boot.actuate.autoconfigure.TraceWebFilterAutoConfiguration.class 

@ManagementContextConfiguration

を有効にするための代わり spring-boot-actuator

spring-boot-starter-actuatorを使用することができますsidgate年代にはすでに

@Configuration 
@Import({ 
org.springframework.boot.actuate.autoconfigure.AuditAutoConfiguration.class, 
org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration.class, 

... 

}) 
public class MyApplicationContext { 
} 

P.S.を説明するように

org.springframework.boot.actuate.autoconfigure.EndpointWebMvcManagementContextConfiguration, org.springframework.boot.actuate.autoconfigure.EndpointWebMvcHypermediaManagementContextConfiguration 

は、あなたが直接エンドポイントの設定をインポートすることができ特定の管理エンドポイントを有効にするためのバネブート構成

を可能にしますもちろん、Springのアプリケーションコンテキストとプロパティの初期化は、注釈やXML設定を介していつものように設定することができます。