Регистрация приложения весенней загрузки с консулом после обслуживания - PullRequest
1 голос
/ 20 мая 2019

У меня есть устаревший код, в котором приложение весенней загрузки регистрируется консулом после загрузки службы. Приложение автоматически связывает пружинный компонент ConsulLifecycle, с помощью которого оно регистрирует / отменяет регистрацию службы с консулом, используя встроенные методы ConsulLifecycle.start () и ConsulLifecycle.stop ().

Теперь мы обновили Spring до 5.1.5, Spring-Cloud-Starter-Consul-Discovery до 2.1.1 и Spring-Cloud-зависимостей до Гринвича. Выпуск, в котором удален компонент ConsulLifecycle. Поэтому для достижения того же поведения я пытаюсь автоматически подключить пружинный компонент ConsulAutoServiceRegistration и использую его метод запуска и остановки для регистрации и отмены регистрации службы в консуле.

Проблема заключается в том, что при попытке запустить приложение с весенней загрузкой возникает ошибка при загрузке приложения (ошибка упоминалась в последнем разделе поста).

Примечание: у меня есть файл application.properties, где я определил это свойство

spring.cloud.consul.host=127.0.0.1
spring.cloud.consul.port=8500     
##Embedded Tomcat 
server.port = 8091
server.address = 0.0.0.0

Ошибка, с которой я сталкиваюсь при загрузке приложения, т.е. при регистрации службы в консуле

2:25 - Unknown error occured.
java.lang.IllegalArgumentException: service.port has not been set
    at org.springframework.util.Assert.notNull(Assert.java:198)
    at org.springframework.cloud.consul.serviceregistry.ConsulAutoServiceRegistration.getRegistration(ConsulAutoServiceRegistration.java:56)
    at org.springframework.cloud.consul.serviceregistry.ConsulAutoServiceRegistration.getRegistration(ConsulAutoServiceRegistration.java:32)
    at org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration.start(AbstractAutoServiceRegistration.java:117)
    at org.springframework.cloud.consul.serviceregistry.ConsulAutoServiceRegistration.start(ConsulAutoServiceRegistration.java:68)
at com.bmc.agent.data.refresh.manager.core.ConsulLeaderElectionHelper.checkAndGetLocalService(ConsulLeaderElectionHelper.java:201)
at com.bmc.agent.data.refresh.manager.core.ConsulLeaderElectionHelper.run(ConsulLeaderElectionHelper.java:152)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...