我正在使用spring cloud config在运行时更改属性值,而无需重新启动应用程序。
我有一个回购协议,它有不同的配置文件,根据配置文件,我有多个应用程序运行一个回购协议。
我有一个带有@Profile注释的服务类,
@Service
@Slf4j
@Profile("change-feed")
@RefreshScope
public class ProcessorFeedService extends ProcessorService {
private final boolean toggle;
private final FeedPublisher publisher;
public ProcessorFeedService(FeedPublisher publisher,
@Value("${feed.toggle}") boolean toggle) {
this.publisher = publisher;
this.toggle = toggle;
}
public void handler(List<JsonNode> docs) {
for (JsonNode document : docs) {
try {
if (toggle) {
// do something
publisher.publish();
} else {
// do something else
inventoryChangePublisher.publish(document);
}
} catch (Exception ex) {
log.error("Exception occurred while processing {}", document.toString(), ex);
}
}
}
}
我有一个应用程序更改提要属性文件和一个应用程序测试文件,其中(应用程序测试)在云配置存储库中有这个feed.toggle属性值。
application.properties文件有这些属性来启用刷新endpoint和所有
management.endpoints.web.exposure.include=info,health,env,refresh,bindings
management.endpoint.health.show-details=always
management.health.binders.enabled=true
spring.profiles.active=test
spring.profiles.include=change-feed
更改云配置文件中的属性值后,点击此刷新endpoint,返回更改的属性。但它并不反映应用程序中的更新值。应用程序只选择旧的。
我做错了什么?
刷新范围通常适用于用@Configuration
注释的类
来自spring文档
Spring文档
问题内容: 我需要在运行时在应用程序中更改属性。例如,我有一项服务,该服务发送带有重置密码的电子邮件。要求有效期为12小时。但是我想在运行时将此时间更改为24或更多。我需要给管理员执行此操作的机会。 我的财产文件有 我的服务 我的Spring xml配置 我可以在运行时以某种方式更改此值吗? 问题答案: 只需远离xml配置,就快要到2017年了。 使用@Value,您将从属性文件中获取hours.
我已经尝试使用Config Server实现spring外部配置。当应用程序启动时,它第一次工作得很好,但对属性文件的任何更改都不会反映出来。我试图使用/refreshendpoint来动态刷新我的属性,但它似乎不起作用。在这方面的任何帮助都将是非常有帮助的。 我尝试向localhost:8080/refresh发帖,但得到404错误响应。 下面是我的应用程序类的代码 和bootstrap.pro
问题内容: 我们在模型pojos中的一些方法已被注释为: columnDefinition 属性取决于数据库供应商,因此在尝试使用Hibernate删除HSQLDB中的架构时会失败: 为了解决这个问题,我正在考虑这个解决方案(但不想花时间,如果不可能的话),在运行时,为每个方法列加注: 获取@Column批注 创建列注释的副本,使用javaassist将columnDefinition设置为nul
我正在编写一个桌面Spring Boot和数据JPA应用程序 初始设置来自应用程序。属性(一些spring.datasource.和spring.jpa.) 我的程序的一个功能是可以通过ui指定数据库设置(rdbms类型、主机、端口、用户名、密码等)<这就是为什么我想在运行时重新定义已经初始化的db属性。这就是为什么我正在寻找一种方法来做到这一点。 我试着做以下事情: 1)我编写了自定义DbCon
问题内容: 我正在编写一个API解析Twitter机器人,对OOP来说是个新手。我有一些依赖于全局变量的现有Python代码,并认为我可以借此机会学习。 我有以下Team类,这些类在解析API时会更新,并且希望在类属性更改时能够调用完全不相关的(外部)方法。 对于现有实例,何时更改,我希望调用以下方法(伪代码): 两件事情 - 一旦检测到属性已更改,如何从班级内部调用? 我可以从任何地方访问对象的
我正在尝试使用LayoutTransition动画,但它们不起作用。 我设置 在我的activity布局中的父级LinearLayout中。然后,在选中或未选中另一个复选框时,对包含一些复选框的子LinearLayout执行setVisibility(View.Visible)或setVisibility(View.Gone)。可见性更改不是动画的。父级LinearLayout中有一个Scroll