0

次のようなものを使用cronSchedulerしてトリガーを設定しましたmisfireInstruction

     trigger = newTrigger().withIdentity("autoLockTrigger", "autoLockGroup").startNow()                 .withSchedule(cronSchedule(croneExpression).withMisfireHandlingInstructionFireAndProceed())
                    .forJob("autoLockJob","autoLockGroup")
                    .build();

私の Quartz.properties は次のようなものです

org.quartz.scheduler.instanceName =MyScheduler


# Configuring ThreadPool
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 1
org.quartz.threadPool.threadPriority = 9

org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.dataSource = myDS 
org.quartz.jobStore.tablePrefix = QRTZ_
#org.quartz.dataSource.myDS.jndiURL = jdbc/vikas


org.quartz.dataSource.myDS.driver = com.mysql.jdbc.Driver
org.quartz.dataSource.myDS.URL = jdbc:mysql://staging:3307/facao
org.quartz.dataSource.myDS.user = root
org.quartz.dataSource.myDS.password = toor
org.quartz.dataSource.myDS.maxConnections = 30


#org.quartz.jobStore.nonManagedTXDataSource = myDS
#to store data in string format (name-value pair)
org.quartz.jobStore.useProperties=true   

org.quartz.jobStore.misfireThreshold = 60000 

私のコードでは、特定の時間にトリガーを設定し、サーバーが実行状態にある場合、スケジューラーは正常に実行されますが、スケジューラーが実行されるはずの時間にサーバーがダウンし、しばらくしてから開始された場合、スケジューラーは不発を実行する必要があります命令。しかし、私の場合、失火した命令は常に実行されているわけではなく、常に実行されているとは限らないため、目的が達成されません。解決策を教えてください。前もって感謝します。

4

1 に答える 1