我需要在Java Spring应用程序中添加一些日志记录,以便注意应用程序已重新启动,因此我们可以从其存在创建通知和挂钩。谁能建议最好的方法呢?我能找到的所有资源都是关于Java Bean生命周期而不是应用程序生命周期。
答案 0 :(得分:1)
你可能会有兴趣研究Event Handling in Spring. 你必须抓住 ContextStartedEvent
使用时启动ApplicationContext时会发布此事件 ConfigurableApplicationContext接口上的start()方法。 您可以轮询数据库,也可以重新启动任何已停止的应用程序 收到这个事件后。
public class CStartEventHandler
implements ApplicationListener<ContextStartedEvent>{
public void onApplicationEvent(ContextStartedEvent event) {
System.out.println("ContextStartedEvent Received");
}
}
答案 1 :(得分:0)
您应该查看ApplicationListener,特别是
ApplicationListener<ContextRefreshedEvent>
您可以通过以下步骤实现此目的:
public class RestartNotifier implements ApplicationListener<ContextRefreshedEvent> {
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
log.info("*** Application initialised ***");
}
}
<bean id="applicationInitialised" class="path.RestartNotifier"/>
应该这样做..