背景
公司经常会有数据查询问题,这种是需要调用接口查回实时数据。数据比较多就采用分批次定时来执行这个操作。随之而来的问题是当全部数据已经更新结束后,应用没有关闭。这样不停会有一小段日志打印,看着贼不舒服,而且时间长了日志量还是不少的。然后就想如果跑完了,程序可以自己kill 自己就好了。
解决方法
话不多说,代码如下:
import org.springframework.context.ApplicationContext;
import org.springframework.boot.SpringApplication;
@Service
class ShutdownManager{
@Autowired
private ApplicationContext appContext;
public void initiateShutdown(int returnCode){
SpringApplication.exit(appContext, () -> returnCode);
}
}
在需要关闭服务的地方,调用方法就ok了,还是蛮简单的。