taosuzhan 2017-10-12 02:02 采纳率: 33.3%
浏览 7067
已结题

timer定时任务 停止与再启动

package com.util;

import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;

import com.task.BillTask;
import com.task.CusTask;
import com.task.DataTask;
import com.task.MeterTask;
import com.task.PayTask;

@Component
public class Task {
Timer timer0 ;
@Autowired
private CusTask cus;

public static String src1="";
int i=0;
public void task(List<String> list, String cus, String mter, String pay, String bill, String data, String time) {

    timer0 = new Timer();
    TimerTask task =this.cus;
    Calendar calendar = Calendar.getInstance();
    Date firstTime = calendar.getTime();
    for (int i = 0; i < list.size(); i++) {
        if (list.get(i).equals("0")) {
            src1="2017-08-08 00:00:00";
            long period = Integer.valueOf(cus)*1000;
            timer0.schedule(task, firstTime, period);
            }
    }
}
public void end() {
    timer0.cancel();
    timer0 = new Timer();
}

我用timer写了一个定时任务能停止和重新启动的,使用@Autowired来注入CusTask timer使用end方法销毁后重启不了,但是如果去掉@Autowired注入 改成new CusTask();就可以实现停止与重新启动了,但是new CusTask();里面的@Autowired注入的类就为null 这哥有没有谁遇到过帮我看一下怎么解决

  • 写回答

1条回答

  • taosuzhan 2017-10-12 03:15
    关注

    timer.Enable设置成false? 只要不销毁 能停止任务 下一次调用task还能执行定时任务就可以

    评论

报告相同问题?

悬赏问题

  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
  • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档
  • ¥50 C++五子棋AI程序编写
  • ¥30 求安卓设备利用一个typeC接口,同时实现向pc一边投屏一边上传数据的解决方案。