@Component
public class AppStartupEventHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(AppStartupEventHandler.class);
@EventListener
public void onApplicationStartUp(ApplicationStartedEvent event) {
// Have your start business here - or better delegate
LOGGER.info("This is triggered post startup");
}
}
@Component
public record AppStartupRunner() {
@EventListener(ApplicationReadyEvent.class)
public void init() throws IOException {
// call your post method here
}
}
2条答案
按热度按时间r9f1avp51#
您可以通过以下几种方式来完成此操作:
EventListner
处理程序(这是我喜欢的)@PostConstruct
创建Configuration
-这是我不喜欢的,因为它可能并不总是在启动后运行的,在这种情况下,我们需要RestTemplate
,因此我们需要考虑配置类的Order
,我认为我们应该尽可能避免这种情况。对于
EventListener
,您可以拥有在ApplicationStartedEvent
上执行的以下组件。更多细节可以在官方文档中找到
af7jpaap2#
可以使用ApplicationReadyEvent侦听器。应用程序将在启动时执行一次。请确保记录/类应为组件。