在项目中写一个定时任务使用crontab来运行。
任务逻辑直接使用java main来作为入口运行。
如:
mvn -e exec:java -Dexec.mainClass="com.sohu.sendCloud.controller.RunUserRequestAnalysis"
如果程序中有报错,即使错误被正常捕捉了。debug发现程序也执行到了最后一句,但是程序依旧没有退出,可能是资源没有充分关闭导致。
后续再继续查这个问题。
但是建议在程序需要退出的时候加上一句:
System.exit(0); //1:异常退出,0正常退出
保证程序的运行,因为crontab进程会定期去执行的,如果程序没有退出,会导致大量的进程堆积。
使用这个方法可以解决。