启动Spring Boot后,如何在数据库中“还原” 数据?
例如-当我的服务器关闭时,某些行保持为NEW
状态。启动服务器时,我需要将状态更改为另一个。首先想到的是调用@PostConstruct
中的方法:
@PostConstruct
public void init() {
someService.prepareForExecution();
}
但是在我看来,这是错误的。我还可以运行另一个将被更新的Sheduller。
但是我必须确保在服务器启动之前,所有数据都将恢复正常。怎么做对呢?
答案 0 :(得分:2)
我将使用EventListener
@EventListener(ApplicationReadyEvent.class)
public void applicationReady() {
someService.prepareForExecution();
}
在此处阅读有关事件的更多信息: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-application-events-and-listeners