這兩天有個需求就是計時調用外部的接口,獲取返回值更新數據庫,
其實一直對關於線程一塊的知識很排斥,可能就是因為底子比較薄弱,
對有關於這方面的東西都有點雲里霧里的感覺,但是直接用人家封裝好的說到底還是比較簡單了。
就直接上代碼好了。
@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.