2017-02-13 19 views
0

Что я хочу сделатьКак создать более одного проверки состояния конечных точек с весны загрузки привода

  • Создание двух (различных) конечных точек с помощью Spring загрузки привода

Моя среда

  • Весенняя обувь 1.4.2
  • весна-загрузки-стартер-привод встроен в Спринг ботинке 1.4.2

Деталь

Я создаю веб-приложение с использованием Spring загрузки и нужно будет создать две отдельные конечные точки: один для всего проверяя работоспособность приложения, включая соединение с DB приложения и т. д. (это будет реализовано поведением по умолчанию «/ health»), а другое - только для проверки готовности приложения к принятию HTTP-запросов (например, «/ httpcheck»).

Чтобы реализовать функцию проверки работоспособности, я думаю, что это самый быстрый способ использования Spring Boot Actuator (по умолчанию/health отображается в конечную точку проверки работоспособности). Я также понимаю, что мы можем настроить эту конечную точку, расширив AbstractHealthIndicator (чтобы она включала проверку работоспособности БД).

Но, насколько я мог видеть, я не мог найти способ создать несколько конечных точек, чтобы выполнять различные проверки работоспособности. У вас есть идеи?

Заранее спасибо.

ответ

0

Спасибо за ваш ответ. На самом деле, я столкнулся с этой проблемой, внедряя новую конечную точку (/ httpcheck), чтобы просто проверить, работает ли ее стек HTTP или нет.

HttpCheckEndpoint.java

@Component 
@ConfigurationProperties(prefix = "endpoints.httpcheck") // Specifies the prefix on application.yml 
public class HttpCheckEndpoint extends AbstractMvcEndpoint { 

    public HttpCheckEndpoint() { 
     super("/httpcheck", false); 
    } 

    /** 
    * Check if simply the app can connect to their own HTTP stack and return 200 OK. 
    * <ul> 
    * <li>Method: GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS</li> 
    * <li>Endpoint: "/httpcheck"</li> 
    * </ul> 
    */ 
    @RequestMapping 
    @ResponseBody 
    public ResponseEntity<String> checkHttpConnecton() { 
     if (!isEnabled()) { 
      return new ResponseEntity<String>("", HttpStatus.NOT_FOUND); 
     } else { 
      return new ResponseEntity<String>("{\"status\": \"UP\"}", HttpStatus.OK); 
     } 
    } 

} 

application.yml

endpoints: 
    enabled: false # Default enabled/disabled on endpoints on Spring Boot Actuator 
    health: # Health check (already prepared in Spring Boot Actuator) 
    enabled: true 
    httpcheck: # Simple HTTP connection check (newly created by myself) 
    enabled: true 

Я подтвердил, что он работал хорошо, хотя и не уверен, что это самое лучшее решение ...

0

Решение

  1. Вы можете использовать Jolokia конечных точек в приложении Spring-загрузки и получить его зарегистрировано o.s.b.a.e.jmx.EndpointMBeanExporter вместе с приводом плагинов.
  2. <dependency> <groupId>org.jolokia</groupId> <artifactId>jolokia-core</artifactId> <version>1.2.2</version> </dependency>
  3. Jolokia Конфигурации в application.properties

     jolokia.config.debug=true 
        endpoints.jolokia.enabled=true 
    
+0

Спасибо за ваш ответ и жаль поздно. Я подтвердил, что это сработало. В моем понимании, jolokia контролирует приложение через JMX, не так ли? – lethe2211

+0

Да, это дает вам более гибкий способ проверки работоспособности без какого-либо специального кодирования для вашего сценария. Вы можете добавить это как зависимость в свой файл pom и несколько записей в application.properties/application. yml-файл. –

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

  • Нет связанных вопросов^_^