복붙노트

[SPRING] 기존 webapp의 스프링 부트 상태 확인

SPRING

기존 webapp의 스프링 부트 상태 확인

Spring MVC 웹 애플리케이션이있다. 이제 스프링 - 부팅 - 시동기 - 액추에이터에있는 상태 확인 기능을 사용하고 싶습니다.

나는 봄 부팅에 익숙하지 않기 때문에 건강 체크를위한 스프링 부트 프로젝트로 전체 프로젝트를 변환해야하는지 잘 모르겠습니다. 종속성을 포함 시켜서 필요한 기능 만 사용할 수 있습니까?

해결법

  1. ==============================

    1.나는 그것을 스스로 알아 냈다. 스프링 - 부트 - 시동기 - 액추에이터 대신 스프링 - 부트 - 액추에이터를 포함합니다. @SpringBootApplication을 사용하여 응용 프로그램을 초기화 할 필요가 없습니다. 대신 지금 필요한 자동 구성 클래스를 가져옵니다. 이제 config 클래스는 다음과 같이 보입니다.

    나는 그것을 스스로 알아 냈다. 스프링 - 부트 - 시동기 - 액추에이터 대신 스프링 - 부트 - 액추에이터를 포함합니다. @SpringBootApplication을 사용하여 응용 프로그램을 초기화 할 필요가 없습니다. 대신 지금 필요한 자동 구성 클래스를 가져옵니다. 이제 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에 따라 다르므로 가져 오기해야합니다. 이것은 나를위한 최소한의 구성으로 보인다. 더 나은 대안이 있는지 알려주세요.

  2. ==============================

    2.우선 sidgate의 대답이 맞다고 말하고 싶습니다. 하지만 누군가는 모든 측정 항목을 활성화하거나 다른 측정 항목을 선택해야 할 수도 있습니다.

    우선 sidgate의 대답이 맞다고 말하고 싶습니다. 하지만 누군가는 모든 측정 항목을 활성화하거나 다른 측정 항목을 선택해야 할 수도 있습니다.

    스프링 부트 액추에이터 대신 스프링 부트 시동기 액추에이터를 사용할 수 있습니다

    모든 측정 항목 사용 설정

    @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

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

    스프링 부트 구성 활성화

    특정 관리 엔드 포인트를 사용하려면 sidgate가 이미 설명 했으므로 엔드 포인트의 구성을 직접 가져올 수 있습니다

    @Configuration
    @Import({
    org.springframework.boot.actuate.autoconfigure.AuditAutoConfiguration.class,
    org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration.class,
    
    ...
    
    })
    public class MyApplicationContext {
    }
    

    추신 Spring Application Context와 Properties 초기화는 주석이나 xml 설정을 통해 항상 설정 될 수 있습니다.

  3. from https://stackoverflow.com/questions/33384685/spring-boot-health-check-on-existing-webapp by cc-by-sa and MIT license