Я использую Spring 2.0.1.RELEASE и настроил все проекты (2 службы и сервер конфигурации облака) с помощью Spring-cloud-bus
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
На конфигурационном сервере также есть spring-cloud-config-monitor
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-monitor</artifactId>
</dependency>
Я редактирую файл в моем репозитории Git (используя локальные файлы с собственным профилем Spring Cloud Config). Изменение обнаружено, и я вижу следующую строку в
Сервер облачных настроек:
17:59:25.201 [task-scheduler-3] INFO o.s.cloud.bus.event.RefreshListener - Received remote refresh request. Keys refreshed [version.client.min]
Однако ни одна из других служб не получает уведомления об обновленных ключах.
С другой стороны, если я вручную вызываю конечную точку bus-refresh
какой-либо другой службы, я вижу, что все модули получают обновленный ключ. Сам сервер конфигурации также получает уведомление, но сообщает, что ключ не обновлен, что имеет смысл, поскольку он уже обнаружил изменение.
В документации не упоминалось какое-либо специальное свойство, которое можно установить отдельно от свойств RabbitMQ (которые, похоже, хорошо настроены, поскольку конечная точка bus-refresh
работает, как и ожидалось.)
Я видел, что уже есть несколько сообщений по этому поводу, один даже указывает на ошибку, которая была помечена как исправленная (https://github.com/spring-cloud/spring-cloud-bus/issues/101), но, похоже, она не работает на моей стороне.
Есть ли свойство, позволяющее серверу конфигурации уведомлять шину?
Любая подсказка относительно того, как отладить это?