因为我的日志只记录了一些比较重要的操作,所以将日志保存在了数据库,但就算这样时间长了对数据库也会造成比较大的压力,所以需要定期删除一部分日志文件,我的想法是在每天凌晨2点删除,每天删除一次,删除30天前生成的日志记录。
实现这个操作有两个重要的地方:
实际操作时最好先实现第二部分,因为第一部分需要使用第二部分的方法注入bean。
1、java怎么定时
我是采用线程的方法,创建一个线程,在项目启动的时候判断今天有没有错过删除时间,如果错过了,就sleep到明天的执行时间,如果没有错过,还没有到删除时间,就sleep到删除时间。如果项目启动后正好在删除时间的前后一秒内,就删除日志,休眠24h。
package com.fh;
import com.fh.service.BuyerService;
import com.fh.util.Book3;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import java.util.Date;
/**
* Hello world!
*
*/
@SpringBootApplication
public class App
{
public static void main( String[] args )
{
SpringApplication.run(App.class);
System.out.println( "项目启动完成" );
Timer timer = new Timer();
Thread timeThread &