quartz-solon-cloud-plugin
<dependency>
<groupId>org.noear</groupId>
<artifactId>quartz-solon-cloud-plugin</artifactId>
</dependency>
1、描述
分布式扩展插件。基于quartz 适配的 solon cloud job 插件。v1.11.4 后支持
2、云端能力接口
接口 | 说明 | 备注 |
---|---|---|
CloudJobService | 云端定时任务服务 | 支持云端或本地调度 |
3、配置示例
- app.yml
solon.app:
name: "demoapp"
group: "demo"
solon.cloud.quartz:
server: "quartz.properties"
- quartz.properties (名字不能改)
#指定持久化方案
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.acquireTriggersWithinLock=true
org.quartz.jobStore.misfireThreshold=5000
#指定表前前缀(根据自己需要配置,表结构脚本官网找一下)
org.quartz.jobStore.tablePrefix=QRTZ_
#指定数据源(根据自己需要取名)
org.quartz.jobStore.dataSource=demo
org.quartz.dataSource.demo.driver=com.mysql.jdbc.Driver
org.quartz.dataSource.demo.URL=jdbc:mysql://localhost:3306/quartz?useUnicode=true&zeroDateTimeBehavior=convertToNull&autoReconnect=true
org.quartz.dataSource.demo.user=root
org.quartz.dataSource.demo.password=123456
org.quartz.dataSource.demo.maxConnections=10
org.quartz.datasource.demo.validateOnCheckout=true
org.quartz.datasource.demo.validationQuery=select 1
#指定线程池
org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount=5
org.quartz.threadPool.threadPriority=5
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true
4、代码应用
- Solon cloud Job 标准应用:(可自由切换不同插件)
//将转为 Job(Quartz 里的接口) 进行调度
@CloudJob(name = "job1", cron7x = "0 1 * * * ?")
public class Job1 implements CloudJobHandler {
@Override
public void handle(Context ctx) throws Throwable {
}
}
- Solon cloud Job 标准注解 + 个性化应用:(不可自由切换插件)
@Component
public class Job2Com {
//做为 method 运行(将转为 Job(Quartz 里的接口)进行调度)
@CloudJob("job2")
public void job2(JobExecutionContext jobContext){
}
}