У меня есть устаревший код, в котором приложение весенней загрузки регистрируется консулом после загрузки службы. Приложение автоматически подключает компонент Spring Bean ConsulLifecycle, с помощью которого оно регистрирует / отменяет регистрацию службы в consul, используя свои встроенные методы ConsulLifecycle.start () и ConsulLifecycle.stop ().
Теперь мы обновили Spring до 5.1.5, spring-cloud-starter-consul-discovery до 2.1.1 и spring-cloud-dependencies до Greenwich.RELEASE, в котором компонент ConsulLifecycle удален. Поэтому для достижения того же поведения я пытаюсь автоматически подключить Spring bean-компонент ConsulAutoServiceRegistration и использовать его метод start и stop для регистрации и отмены регистрации службы с помощью consul.
Проблема в том, что теперь, когда я пытаюсь запустить приложение весенней загрузки, я получаю некоторую ошибку при загрузке приложения (ошибка, упомянутая в последнем разделе сообщения).
Примечание: у меня есть файл 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)