读取文件的每一行 java

问题遇到的现象和发生背景

SpringBoot jar 运行.使用 Schdule 运行定时任务.莫名其妙的停止.并导致整个 jar 停止运行.

问题相关代码,请勿粘贴截图

无报错日志.

运行结果及报错内容

无报错日志.

我的解答思路和尝试过的方法

改用自定义线程池执行.也会出现这个问题
目前的解决方法: 使用 Linux corn 定时任务.目前稳定运行

我想要达到的结果

能够 使用Java本身或者SpringBoot 本身的线程,实现各种定时任务的执行

追加

这个定时任务只是24小时执行一次. 请求token接口.用来刷新token的

本地运行有没有这种情况,相关问题截图呢

怎么运行的jar?是后台运行吗。相关日志打出来 程序停止会有相关log输出

猜测应该是获取数据任务,一次抓取数据过多内存爆了,可以尝试数据分段抓取,对已处理数据进行标记

Quartz 试过没

https://blog.csdn.net/beyond150/article/details/105329036 看看这篇博客

1.先在本地进行测试
2.如果在本地测试没有问题,引入日志,将日志信息打印到文件中,在定时任务方法的第一行和最后一行,以及有可能有问题的代码行进行日志打印
3.分析打印的日志文件定位具体是那一行引起的问题。
4.如果没有任何打印信息说明问题定时任务没有正式开始就出错了

引入日志,将日志信息打印到文件中,在定时任务方法的第一行和最后一行,以及有可能有问题的代码行进行日志打印

不一定时定时任务导致的,导致原因
1、可能是服务器本身内存不足,如果服务器只有4G内存很容易挂及时只运行了一个小jar。
2、jvm内存溢出

持续观测一下服务器,内存,CPU,网络的变化;同时可以使用 jvisualvm 观测一下jar包运行状况,在jdk bin目录下

试试Quartz

这篇文章:java文本文件按行读取,然后每一行写入一个文件 也许能够解决你的问题,你可以看下