diff --git a/src/main/java/com/github/zxbu/webdavteambition/WebdavTeambitionApplication.java b/src/main/java/com/github/zxbu/webdavteambition/WebdavTeambitionApplication.java index 0f8a0cd..d038065 100644 --- a/src/main/java/com/github/zxbu/webdavteambition/WebdavTeambitionApplication.java +++ b/src/main/java/com/github/zxbu/webdavteambition/WebdavTeambitionApplication.java @@ -8,11 +8,13 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; +import org.springframework.scheduling.annotation.EnableScheduling; import java.util.LinkedHashMap; import java.util.Map; @SpringBootApplication +@EnableScheduling public class WebdavTeambitionApplication { public static void main(String[] args) { diff --git a/src/main/java/com/github/zxbu/webdavteambition/config/AliYunDriverCronTask.java b/src/main/java/com/github/zxbu/webdavteambition/config/AliYunDriverCronTask.java new file mode 100644 index 0000000..1a7b992 --- /dev/null +++ b/src/main/java/com/github/zxbu/webdavteambition/config/AliYunDriverCronTask.java @@ -0,0 +1,28 @@ +package com.github.zxbu.webdavteambition.config; + +import com.github.zxbu.webdavteambition.model.result.TFile; +import com.github.zxbu.webdavteambition.store.AliYunDriverClientService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +@Component +public class AliYunDriverCronTask { + + @Autowired + private AliYunDriverClientService aliYunDriverClientService; + + /** + * 每隔5分钟请求一下接口,保证token不过期 + */ + @Scheduled(initialDelay = 30 * 1000, fixedDelay = 5 * 60 * 1000) + public void refreshToken() { + try { + TFile root = aliYunDriverClientService.getTFileByPath("/"); + aliYunDriverClientService.getTFiles(root.getFile_id()); + } catch (Exception e) { + // nothing + } + + } +}