<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之旅 廣告
                [TOC] # 1. 任務全局唯一 每個 JobDetail 都有一個唯一的身份,在全局中該 JobDetail 始終只能存在一個。 ```java JobDetail jobDetail = JobBuilder .newJob(AccountJob.class) //任務ID .withIdentity("job1", "job-group1") .build(); ``` 上面已經創建了 ID 為`job-group1.job1`的任務,如果再重新創建則拋出如下異常,阻止你再重新創建相同的任務。 ``` Unable to store Job : 'job-group1.job1', because one already exists with this identification. org.quartz.ObjectAlreadyExistsException: Unable to store Job : 'job-group1.job1', because one already exists with this identification. at org.quartz.simpl.RAMJobStore.storeJob(RAMJobStore.java:279) ``` >[info]觸發器雖然也有`withIdentity(name, group)`來設置該觸發器的 ID。但如果重復創建,則后創建的觸發器會覆蓋前面創建的觸發器,不會觸發異常。 <br/> # 2. 觸發器與任務的數量綁定關系 * 一個觸發器(Trigger)只能與一個任務(JobDetail)綁定。 * 一個任務(JobDetail)可以與多個觸發器(Trigger)綁定。 下面演示一個任務如何與多個觸發器綁定。 **1. 定時任務要執行的業務代碼** ```java @Slf4j public class UserJob extends QuartzJobBean { @Override protected void executeInternal(JobExecutionContext context) throws JobExecutionException { TriggerKey triggerKey = context.getTrigger().getKey(); JobKey jobKey = context.getJobDetail().getKey(); log.info("觸發器ID: {}", triggerKey.getGroup() + "." + triggerKey.getName()); log.info("任務ID: {}\n", jobKey.getGroup() + "." + jobKey.getName()); } } ``` <br/> **2. 一個任務綁定多個觸發器** ```java public void jobManyTrigger() throws SchedulerException { JobDetail jobDetail = JobBuilder.newJob(UserJob.class) .withIdentity("job4", "job-group1") .build(); Trigger trigger1 = TriggerBuilder.newTrigger() .withIdentity("trigger3", "trigger-group1") .startNow() .withSchedule(SimpleScheduleBuilder.simpleSchedule() .withIntervalInSeconds(4) .repeatForever() ) .build(); Trigger trigger2 = TriggerBuilder.newTrigger() .withIdentity("trigger4", "trigger-group1") //除了第一個觸發器,其余的觸發器用 forJob 綁定 job .forJob(jobDetail) .startNow() .withSchedule(SimpleScheduleBuilder.simpleSchedule() .withIntervalInSeconds(5) .repeatForever() ) .build(); Trigger trigger3 = TriggerBuilder.newTrigger() .withIdentity("trigger5", "trigger-group1") //除了第一個觸發器,其余的觸發器用 forJob 綁定 job .forJob(jobDetail) .startNow() .withSchedule(SimpleScheduleBuilder.simpleSchedule() .withIntervalInSeconds(6) .repeatForever() ) .build(); //第一個觸發器調用 scheduleJob(JobDetail, Trigger) 進行綁定任務 scheduler.scheduleJob(jobDetail, trigger1); //剩余的觸發器調用 scheduleJob(Trigger) 進行綁定,不能再調用 scheduleJob(JobDetail, Trigger) scheduler.scheduleJob(trigger2); scheduler.scheduleJob(trigger3); scheduler.start(); } ``` 啟動后日志打印如下: ``` //同一個任務可以由多個觸發器觸發 2023-03-31T18:07:05.36...job.UserJob : 觸發器ID: trigger-group1.trigger3 2023-03-31T18:07:05.36...job.UserJob : 任務ID: job-group1.job4 ... 2023-03-31T18:07:07.36...job.UserJob : 觸發器ID: trigger-group1.trigger4 2023-03-31T18:07:07.36...job.UserJob : 任務ID: job-group1.job4 ... 2023-03-31T18:07:09.36...job.UserJob : 觸發器ID: trigger-group1.trigger5 2023-03-31T18:07:09.36...job.UserJob : 任務ID: job-group1.job4 ```
                  <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>

                              哎呀哎呀视频在线观看