Компонент refre sh с областью видимости и аннотацией Scheduled не отменяет текущую запланированную задачу при refre sh, если библиотеки трассировки присутствуют в пути к классам.
Здесь приведен пример приложения https://github.com/winster/SpringSchedulerDynamic
Обратите внимание, что он работает должным образом, если трассировки нет. (Создается новая запланированная задача, а текущая отменяется)
Добавление информации об отладке, начиная с RefreshScope :: refreshAll
1. Without tracing library
RefreshScope::refreshAll -> GenericScope::destroy -> DisposableBeanAdapater::run -> DisposableBeanAdapater::destroy
this.beanPostProcessors = ScheduledAnnotationBeanPostProcessor, ApplicationListenerDetector
С библиотекой трассировки
RefreshScope::refreshAll -> GenericScope::destroy -> DisposableBeanAdapater::run -> DisposableBeanAdapater::destroy
this.beanPostProcessors = ApplicationListenerDetector
Следует отметить, что ScheduledAnnotationBeanPostProcessor::postProcessBeforeDestruction
в этом случае не вызывается
Вопрос поднят в spring-cloud-commons