【发布时间】:2017-06-08 09:27:36
【问题描述】:
在我的 Spring boot 应用程序中,我们利用 @RefreshScope 在配置更改后动态重新加载 bean。它可以工作,但是在将 bean 上的 @RefreshScope 与注释为 @PostConstruct 和 @PreDestroy 的方法结合时遇到了一个问题。刷新后似乎没有调用@PostConstruct。
启动应用时,@PostConstruct 方法被正常调用。调用刷新时,@PreDestroy 方法也会正常调用,我希望在新的代理 bean 实例上调用@PostConstruct,但事实并非如此。这些方法中有重要的初始化/销毁逻辑,因此不调用它们是一个问题。
有人遇到过同样的问题,这是错误还是“功能”?有没有办法让这个工作?
最好的问候
【问题讨论】:
-
如何调用刷新?使用 url
/refresh或以编程方式!? -
嗨,我使用 /refresh 和/或 /bus/refresh 端点。我想后者只是在接收到消息时在内部运行 /refresh。
标签: java spring spring-boot