第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在運行時有條件地運行或啟動 Spring 計劃的作業(yè)?

如何在運行時有條件地運行或啟動 Spring 計劃的作業(yè)?

莫回無 2023-05-17 15:39:14
我在我的項目中使用 java 計劃。在我的項目中調用 rest api 后,我開始在我的程序中安排。同樣,我用另一個 rest api 停止了這個計劃。換句話說,我在運行時安排了創(chuàng)建、停止、運行等。我想將此代碼從 java scheduled 轉換為 spring schedule。當我查看代碼示例時,我可以按時間開始安排?;蛘呶铱梢愿鶕?jù)我在application.properties中給的參數(shù)來啟動它。然而,沒有一個符合我的意愿。我的要求簡單如下。if(condition) {    startScheduled();} else {    stopScheduled();}但我找不到這樣的例子。你能幫幫我嗎?
查看完整描述

2 回答

?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

就我而言,我習慣于@Scheduled安排一個較短的周期。CronSequenceGenerator我們正在使用該計劃在運行時檢查 cron 。



查看完整回答
反對 回復 2023-05-17
?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊


然后您需要確定計劃任務的執(zhí)行頻率。為此,您將創(chuàng)建一個適合您需要的 CRON 表達式。

最后在任務中,只需檢查您的條件并相應地執(zhí)行代碼。

這是一些示例代碼:

@Component

public class ScheduledTask{


? private static final Logger log = LoggerFactory.getLogger(ScheduledTask.class);


? @Autowired

? SomeService someService;


? @Scheduled(cron = "0 5 0 * * ?", zone="America/Mexico_City")

? public void doSomething() {

? ? ? log.info("Starting scheduled task");

? ? ? if(condition) {

? ? ? ? startScheduled();

? ? ? } else {

? ? ? ? stopScheduled();

? ? ? }

? }

?}

請注意 @Component 注釋,此外,這個玉米表達式將在我所在時區(qū)的每天 00:05 執(zhí)行任務。

希望這可以幫助


查看完整回答
反對 回復 2023-05-17
  • 2 回答
  • 0 關注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號