<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ``` /** * @author 張躍帥 * @Description: 定時器任務-工具 * @date 2020/08/12 */ @Slf4j public class TimerTaskUtil { /** * 啟動 */ public static Boolean start(String taskKey, String cron, String className) { // 判斷 if (ObjectUtil.hasEmpty(taskKey, cron, className)) { // 輸出日志 log.error("\n" + "\n" + "定時器的參數為空,請檢查參數<任務標識、cron表達式、class執行類>!" + "\n" ); // 返回 return false; } /** * 預加載類看是否存在此定時任務類 */ try { // 預加載類看是否存在此定時任務類 Class.forName(className); } catch (ClassNotFoundException e) { // 輸出日志 log.error("\n" + "\n" + "定時器未獲取到:<" + className + ">預加載類,請檢查!" + "\n" ); // 返回 return false; } /** * 刪除任務 */ if (null != CronUtil.getScheduler().getTask(taskKey)) { // 刪除任務 CronUtil.remove(taskKey); } /** * 定義定時任務 */ Task task = () -> { try { // 通過class獲取Bean TimerTaskApi timerTaskApi = (TimerTaskApi) SpringUtil.getBean(Class.forName(className)); // 任務執行 timerTaskApi.action(); } catch (ClassNotFoundException e) { // 輸出日志 log.error("\n" + "\n" + "定時器的參數為空,請檢查參數<任務標識、cron表達式、class執行類>!" + "\n" ); } }; /** * 開啟定時任務 */ CronUtil.schedule(taskKey, cron, task); // 返回 return true; } /** * 更新 */ public static Boolean update(String taskKey, String cron, String className) { // 判斷 if (ObjectUtil.hasEmpty(taskKey, cron, className)) { // 輸出日志 log.error("\n" + "\n" + "定時器的參數為空,請檢查參數<任務標識、cron表達式、class執行類>!" + "\n" ); // 返回 return false; } // 啟動定時任務 return TimerTaskUtil.start(taskKey, cron, className); } /** * 停止 */ public static Boolean stop(String taskKey) { // 判斷 if (StrUtil.isNotBlank(taskKey)) { // 移除任務 CronUtil.remove(taskKey); // 返回 return true; } // 返回 return false; } /** * 移除 */ public static Boolean remove(String taskKey) { // 判斷 if (StrUtil.isNotBlank(taskKey)) { // 移除任務 CronUtil.remove(taskKey); // 返回 return true; } // 返回 return false; } }
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看