Мы используем весенний конфигурационный клиент для динамического обновления свойств. Мы добавили Spring-Cloud-Starter-Bus-Kafka на пути к классам, и все работает отлично. Pom версия всех этих зависимостей 2.X.
Что я хочу сделать, так это удалить spring-cloud-starter-bus-kafka и добавить свой пользовательский код, чтобы выбрать пользовательское событие и обновить контекст, а затем обновить свойства с помощью клиента облачной конфигурации. Я верю, что где-то весна зовет ConfigServicePropertySourceLocator.locate
. В общем, я хочу просто повторить то, что Spring сделал в spring-cloud-starter-bus-kafka, чтобы сделать обновление свойств в реальном времени возможным.
Причина, по которой я все это делаю, заключается в том, что я внутренне использую старую версию kafka-клиентов. У нас есть доморощенная версия, которая поддерживает шифрование, а что нет. Проблема наступает, так как spring-cloud-starter-bus-kafka
использует 2.X версию kakfa-клиентов, и наша домашняя версия не готова к этому. Из-за этого любой из них работает в определенный момент времени.
Может кто-нибудь показать мне какой-нибудь указатель на то, что нужно сделать, чтобы использовать событие refresh от kafka и обновить свойство? Я не думаю, что это слишком сложно. Он должен использовать событие kafka и где-то вызывать ConfigSourceLocator для обновления свойств.