SpringBoot 2.2.4 Actuator - путь для пользовательских конечных точек управления - PullRequest
0 голосов
/ 17 февраля 2020

После перехода с spring-boot v1.3 на новейшую spring-boot v2.2.4 мы утратили возможность иметь пользовательские конечные точки под портом управления.

До того, как наши пользовательские конечные точки были объявлены как:

@Component
public class CacheEndpoint implements MvcEndpoint {
 ...
   @Override
  public String getPath() {
    return "/v1/cache";
  }
  ...
  // mappings goes here

Поскольку MvcEndpoint был удален из пружинного привода, теперь нам нужно сделать следующее:

@Component
@RestControllerEndpoint(id = "cache")
public class CacheEndpoint {
    ...
    // mappings goes here

К сожалению, мы потеряли возможность иметь пользовательский root путь для наших пользовательских конечных точек управления (до того, как это было /v1/)

Для обеспечения обратной совместимости мы по-прежнему хотим иметь конечные точки привода по умолчанию, такие как health, metrics, env .. находиться под / базовым путем. например, host:<management_port>/health, но в то же время мы все еще хотим поддерживать наши пользовательские конечные точки по пути /v1/, например, host:<management_port>/v1/cache

Я много чего пробовал, googled даже больше, но безуспешно еще. Есть ли способ добиться этого?

1 Ответ

1 голос
/ 17 февраля 2020

Это то, что я использую для пружинной загрузки 2:

application.yml:


management:
  endpoints:
    enabled-by-default: true
    web:
      exposure:
        include: "*"
      base-path: "/management" # <-- note, here is the context path

В целом рассмотрите возможность чтения руководства по миграции для привода от пружинного башмака 1.x до 2.x

...