SSM框架定时器

使用Spring结合cron设置定时触发器,以下是设置步骤。

(1)添加spring配置文件的xmlns和xsd
这是项目配置文件目录

Spring配置文件需要添加的内容

xmlns需要添加的内容:

 xmlns:task="http://www.springframework.org/schema/task"

xsd需要添加的内容:

 http://www.springframework.org/schema/task
 http://www.springframework.org/schema/task/spring-task-3.0.xsd"

(2)在配置文件中添加代码

<!--cron定时器配置-->
<task:annotation-driven />

这里写图片描述

(3)在定时触发的方法上添加注解

@Scheduled(cron="0 21 21 ? * TUE,THU,SUN")

意思是每周二、四、日的21:21执行该函数,该方法写在控制层(controller),也能写在其它层只要Spring能够管理该类中的注解。
cron里面配置的表达式具体参数含义可以参考:cron参数含义
下面是我自己的详细代码

private static final Logger LOGGER = Logger.getLogger(IssueController.class);
    @Autowired
    private  PeriodService periodService;

    @Scheduled(cron="0 21 21 ? * TUE,THU,SUN")
    public void InsertNewData() {
        LOGGER.info("定时服务启动...");
        try{
            Period period=getIssueNum();
            String issue=period.getIssue();
            Period isFind=periodService.findByIssue(issue);//根据期号查询数据库是否存在
            if(isFind==null){//如果不存在该期的双色球,进行添加
                int flag=periodService.save(period);
                if(flag>0) {
                    LOGGER.info("已保存开奖期号:"+issue);
                }
            } else
                LOGGER.info("开奖期号已存在:"+issue);
        }catch (Exception e){
            e.printStackTrace();
            LOGGER.error("Error msg: "+e.getMessage());
        }
    }

注意:值得强调的是该定时触发的函数返回值必须是void否则Spring启动会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值