spring-boot - 刷新后如何向 RefreshScope 注册 RestController
问题描述
我们在 Spring Boot/MVC 应用程序中使用 Spring Cloud Config。
最近我们尝试了一些棘手的事情,比如下面的代码......
@RestController
@RefreshScope
@ConditionalOnProperty("useCase1.enabled")
public class UseCase1Controller {
@RequestMapping(path = "/v1/doSomething")
public String doSomething() {
}
}
在'spring-cloud-config'下我有以下'app1.yml'......
useCase1.enabled=true
现在有了这个配置,一切都很好并且运行良好,现在如果我更改“Spring Cloud Config Server/app1.yml”的属性并在“Config Server”和“App1 - Boot application”触发“actuator/refresh”到“useCase1” .enabled=false' UseCase1Controller 已禁用...
问题是如果我使用'useCase1.enabled = false'启动应用程序然后更改为true并刷新,我猜想RestController没有注册(我猜注释扫描发生在应用程序上下文的开头,而不是稍后初始化的bean )...
所以我的问题是如何/我可以在刷新后注册我的 RestController 吗?
谢谢回答...
解决方案
推荐阅读
- jquery - 在 React 应用程序中扩展 jQuery(自定义链式 jQuery 函数)
- docker - 在 Windows 容器中的 Docker 构建期间运行 NPM 安装
- tfs - 如何使用 TFS 2013 在“错误工作项”上创建“错误类别”,一旦我尝试,我在“参考字段名称”上遇到错误
- moodle - 如何在moodle中查看老师的进度
- javascript - 调用上下文函数在 React 中不起作用
- inheritance - 很好地将家务代码委托给超类?
- mysql - 使用 ROLLUP 的 MySQL 查询给了我一个错误
- antlr - 如何为 css 短颜色符号制定词法分析器规则?
- java - 找不到 Maven 的 JavaMail 存储库
- c++ - 对 WinMain (C++ MinGW) 的未定义引用