2016-06-06 13 views
1

У меня в настоящее время есть приложение Spring Boot, где я могу получить доступ к проверке работоспособности через исполнительный механизм.Проверка работоспособности на Spring Boot webapp из другого Spring Boot webapp

Это приложение зависит от другого Spring загрузка приложение будет доступно/так мой вопрос:

Переопределелив проверку работоспособности в первом приложении, есть элегантный способ сделать проверку здоровья на втором приложении ?

По сути, я просто хочу использовать один звонок и получить информацию о проверке работоспособности для обоих приложений.

Благодаря

ответ

5

Вы можете разработать собственный индикатор здоровья, выполнив HealthIndicator, который проверяет работоспособность бэкэнд-приложения. Поэтому по существу это не будет слишком сложно, потому что вы можете просто использовать RestTemplate, который вы выходите из коробки, например.

public class DownstreamHealthIndicator implements HealthIndicator { 

    private RestTemplate restTemplate; 
    private String downStreamUrl; 

    @Autowired 
    public DownstreamHealthIndicator(RestTemplate restTemplate, String downStreamUrl) { 
     this.restTemplate = restTemplate; 
     this.downStreamUrl = downStreamUrl; 
    } 

    @Override 
    public Health health() { 
     try { 
      JsonNode resp = restTemplate.getForObject(downStreamUrl + "/health", JsonNode.class); 
      if (resp.get("status").asText().equalsIgnoreCase("UP")) { 
       return Health.up().build(); 
      } 
     } catch (Exception ex) { 
      return Health.down(ex).build(); 
     } 
     return Health.down().build(); 
    } 
} 
+0

Отлично! Это было именно то, что я искал - спасибо. –

0

Если у вас есть контроллер в App A, то вы можете ввести запрос метода GET в контроллере и направьте его на проверку работоспособности API конечной App B. Таким образом, у вас будет конечная точка API, доступная в приложении А, чтобы проверить работоспособность App B.

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