Я узнал разные вещи, пытаясь найти решение этой проблемы.
Прежде всего, возможными состояниями зарегистрированных клиентских экземпляров являются ЗАПУСК, ВНИЗ, ВНИЗ, ВНЕ СЛУЖБЫ и НЕИЗВЕСТНО.Цель состояния STARTING на самом деле состоит в том, чтобы запретить приложению, которое все еще запускается, получать запросы, которые оно еще не готово обрабатывать.
Все взаимодействие между сервисами и реестром сервисов происходит через простой REST API, описанный здесь: https://github.com/Netflix/eureka/wiki/Eureka-REST-operations.
После регистрации на сервере Eureka состояние сервиса останется прежним., пока запросы сердцебиения выполнены.
Если вы включите eureka.client.healthcheck.enabled = true , работоспособность приложения будет распространяться на сервер Eureka, а состояние сервера будет отражать состояние работоспособности приложения.
Однако при развертывании приложения Spring Boot на сервере Jboss по некоторым неизвестным мне причинам автоконфигурация выполняется иначе, чем при автономном развертывании приложения Spring Boot.
Мы наконец исправили проблему, установив eureka.instance.instance-enabled-onit: true в нашем application.yml.
Эта цель этого свойства, которая не задокументирована и, по-видимому, написана с ошибкой (instance-enabled-on-init?), Состоит в немедленной регистрации вашего приложения как UP, даже если начальное состояние по умолчанию - STARTING.