```xml
<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

```yml
solon.app:
  name: "demoapp"
  group: "demo"

solon.cloud.quartz:
  server: "quartz.properties"
```

* quartz.properties （名字不能改）

```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 标准应用：（可自由切换不同插件）

```java
//将转为 Job（Quartz 里的接口） 进行调度
@CloudJob(name = "job1", cron7x = "0 1 * * * ?")
public class Job1 implements CloudJobHandler {
    @Override
    public void handle(Context ctx) throws Throwable {
    }
}
```

* Solon cloud Job 标准注解 + 个性化应用：（不可自由切换插件）

```java
@Component
public class Job2Com {
    //做为 method 运行（将转为 Job（Quartz 里的接口）进行调度）
    @CloudJob("job2")
    public void job2(JobExecutionContext jobContext){
    
    }
}
```

#### 5、演示项目

* [https://gitee.com/noear/solon-examples/tree/main/9.Solon-Cloud/demo9063-job_quartz_jdbc](https://gitee.com/noear/solon-examples/tree/main/9.Solon-Cloud/demo9063-job_quartz_jdbc)

