package com.nsight.download;
import com.nsight.service.ExcelService;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.core.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.List;
@Component
public class CustLoginTasks {
@Autowired
private ExcelService excelService;
private static Logger logger = (Logger) LogManager.getLogger(CustLoginTasks.class.getName());
@Autowired
private TcpClient tcpClient;
@Scheduled(cron = "0 45 8 * * ?")
public void taskCron() {
logger.info("每天早上8点45分执行一次");
}
这就是spring里面注解配置的一个定时任务。
当然,要代码生效,除了代码还需要在applicationContext.xml里配置一下
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.1.xsd">
<!-- 定时任务 单任务 -->
<!-- <task:annotation-driven/>-->
<!-- 定时任务 多任务-->
<task:annotation-driven scheduler="scheduler" mode="proxy"/>
<task:scheduler id="scheduler" pool-size="10"/>
这样就可以了。你可以本地验证一下。