2015-10-28 6 views
9

У меня есть веб-приложение Spring MVC. Теперь я просто хочу использовать функцию проверки работоспособности, присутствующую в приводе весеннего запуска-стартера.Проверка работоспособности весенней загрузки на существующем webapp

Я новичок в весеннем ботинке, поэтому не уверен, что мне нужно преобразовать свой полный проект в проект загрузки весны для проверки работоспособности. Могу ли я просто включить зависимость и каким-то образом включить только требуемую функцию?

ответ

11

Я сам это понял. Вместо spring-boot-starter-actuator Я включаю spring-boot-actuator. И мне не нужно инициализировать приложение, используя @SpringBootApplication. Вместо этого теперь я просто импортирую классы автоматической конфигурации, которые требуются. Таким образом, класс конфигурации теперь выглядит как этот

@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', чтобы получить метрики jvm/threads, доступные в _/metrics_ endpoint – Angad

+1

Как отслеживать такое приложение без весны-загрузки, используя spring-boot-admin? – user34567

+0

Это работает для меня, Thax! –

2

Прежде всего, я хотел бы сказать, что sidgate's answer верен. Но, возможно, кому-то нужно включить все показатели или выбрать другой набор показателей.

Вы можете использовать spring-boot-starter-actuator вместо spring-boot-actuator

Для включения всех метрик

@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 «s уже пояснялось

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

... 

}) 
public class MyApplicationContext { 
} 

P.S. Конечно, инициализация контекста и свойств Spring Application может быть настроена, как всегда, с помощью аннотаций или xml-конфигурации.

Смежные вопросы