java設置開始時間,定時執行任務


這兩天有個需求就是計時調用外部的接口,獲取返回值更新數據庫,

其實一直對關於線程一塊的知識很排斥,可能就是因為底子比較薄弱,

對有關於這方面的東西都有點雲里霧里的感覺,但是直接用人家封裝好的說到底還是比較簡單了。

就直接上代碼好了。

@Component
public class updateAISController implements ApplicationRunner {

    @Autowired
    private BoatService boatService;

    @Override
    public void run(ApplicationArguments args) throws Exception {
        startUpdate();
    }

    public void startUpdate(){

        //設置執行時間
        Calendar calendar = Calendar.getInstance();
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH);
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        //設置開始時間
        calendar.set(year,month,day,00,00,02);
        Date date = calendar.getTime();
        //設置計時間隔
        int period = 10*1000*60*24;
        Timer timer = new Timer(true);
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                    //需要執行的代碼
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }

            }
        },date,period);

    }
}                

這個具體想要什么效果可以根據自己的需求設置,還是很方便的,

因為我需求里面是需要進行數據庫的操作的,關於調用service還有一部分的坑要填,

就在下篇博客寫吧。

 

1234567.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM