[SPRING] 기존 webapp의 스프링 부트 상태 확인
SPRING기존 webapp의 스프링 부트 상태 확인
Spring MVC 웹 애플리케이션이있다. 이제 스프링 - 부팅 - 시동기 - 액추에이터에있는 상태 확인 기능을 사용하고 싶습니다.
나는 봄 부팅에 익숙하지 않기 때문에 건강 체크를위한 스프링 부트 프로젝트로 전체 프로젝트를 변환해야하는지 잘 모르겠습니다. 종속성을 포함 시켜서 필요한 기능 만 사용할 수 있습니까?
해결법
-
==============================
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.우선 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 설정을 통해 항상 설정 될 수 있습니다.
from https://stackoverflow.com/questions/33384685/spring-boot-health-check-on-existing-webapp by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring-WebSockets을 사용하여 WebSocket을 통해 STOMP를 사용하여 바이너리 데이터를 보낼 수 있습니까? (0) | 2019.02.08 |
---|---|
[SPRING] Java는 변경 가능성을 보여줍니다. (0) | 2019.02.08 |
[SPRING] 내 WebContent 폴더에서 파일의 실제 경로를 얻으려면 어떻게합니까? (0) | 2019.02.08 |
[SPRING] 최대 절전 모드, 트랜잭션 커밋 또는 트랜잭션 롤백 후에 어떤 메소드를 호출하는 방법 (0) | 2019.02.08 |
[SPRING] 스프링 표현 언어와 스프링 보안 3 : @PreAuthorize에서 빈 참조에 접근하기 (0) | 2019.02.08 |