quartz定时任务
导包(bulid.sbt)
libraryDependencies +="org.quartz-scheduler"%"quartz"%"2.3.1"
libraryDependencies +="org.quartz-scheduler"%"quartz.jobs"%"2.3.1"
参考:https://github.com/quartz-scheduler/quartz/blob/master/docs/quick-start-guide.adoc
import org.quartz.{CronScheduleBuilder, JobBuilder, JobDetail, Scheduler, SchedulerException, TriggerBuilder}
import org.quartz.impl.StdSchedulerFactory
import org.quartz.SimpleScheduleBuilder._
import java.util.concurrent.TimeUnit
object TempQuartz {
def main(args: Array[String]): Unit = {
val scheduler = new StdSchedulerFactory()
val sf = scheduler.getScheduler()
sf.start()
val job:JobDetail = JobBuilder.newJob(classOf[jobcax])
.withIdentity("myjob","group1")
.build()
//5秒执行一次
val trigger = TriggerBuilder.newTrigger()
.withIdentity("myTrigger","group1")
.startNow()
.withSchedule(simpleSchedule()
.withIntervalInSeconds(5)
.repeatForever())
.build()
//10点50分59秒开始执行 每5分钟执行一次
val cronTrigger = TriggerBuilder.newTrigger()
.withIdentity("t1","group1")
.withSchedule(
CronScheduleBuilder
.cronSchedule("59 50/1 10 * * ?")
)
.build()
sf.scheduleJob(job,cronTrigger)
// sf.shutdown()
}
}
任务
import org.quartz.{Job, JobExecutionContext}
class jobcax extends Job {
override def execute(context: JobExecutionContext): Unit = {
println("hello")
}
}
``