Spring Boot 如何将Refresh触发器添加到用@ApplicationScope注解的类中

ddhy6vgd  于 2023-03-02  发布在  Spring
关注(0)|答案(1)|浏览(143)

现在我有一个InitialReferenceLoaderImpl,它由@ApplicationScope注解,函数由@PostConstruct注解,在这个类中,我从SQL表加载我的Application Properties,但问题是,如果用户在Application Properties表上更改了一些内容,它不会直接反映出来,用户需要重新启动服务器,这是我不希望的。
我希望用户点击/refresh URL,以便可以重新加载Application Properties
抱歉,我解释得很混乱。

olhwl3o2

olhwl3o21#

我已经通过使用Bean.refresh()解决了我的问题,我所寻求的解决方案是,我想要一个/refresh端点,它将刷新我的bean,我遵循以下步骤-
1.我自动连接了ConfigurableApplicationContext
@Autowired
private ConfigurableApplicationContext context;
1.在端点中,我初始化了bean -
ReferenceClass bean = context.getBean(ReferenceClass.class);
1.使用.refresh()刷新
bean.refresh();
就是这样,它解决了我的问题,一旦用户点击/refresh端点,它就会刷新我的bean。

相关问题