Моя задача - обеспечить динамическое использование свойства c при изменении их в Zookeeper без перезапуска службы. Для этого я использую Spring Cloud Zookeeper. Проблема заключается в том, что при изменении параметров в Zookeeper компонент конфигурации не воссоздается, и значение в нем не изменяется соответствующим образом. Значение в environment.propertySources изменяется на новое, которое находится в Zookeeper. Вот класс со свойствами:
@RefreshScope
@ConstructorBinding
@ConfigurationProperties(prefix = "ag.number")
data class NumberProperties(val template: String)
Было принято решение изменить тип переменной на var. Но это решение неуместно, поскольку необходимо, чтобы это значение не могло быть изменено в коде. И все же я не хотел бы менять тип переменной. Как мы можем воссоздать боб в любом случае? Так что значение в нем меняется на новое.