This commit is contained in:
redkale
2023-12-29 11:52:17 +08:00
parent 6cade6a1da
commit a4f8519bcf
2 changed files with 16 additions and 2 deletions

View File

@@ -1,6 +1,20 @@
# 定时任务
  @Scheduled注解在Service的方法上,实现对方法结果进行定时运行。方法必须是无参数或者```ScheduleEvent```参数。
# 属性说明
|属性|默认值|说明|
| --- | --- | --- |
|name|未定义|名称, 可用于第三方实现的定时任务组件的key, 比如xxl-job的任务标识|
|cron|未定义|cron表达式也可以使用常量值: <br> @yearly、@annually、@monthly、@weekly、<br> @daily、@midnight、@hourly、@minutely <br> @1m、@2m、@3m、@5m、@10m、@15m、@30m <br> @1h、@2h、@3h、@6h <br> ${env.scheduling.cron}: 读取系统配置项|
|zone|未定义|时区,```cron```有值才有效, 例如: "UTC+08"|
|fixedDelay|-1|延迟时间,负数为无效值,支持参数配置、乘法表达式和对象字段值 <br> 参数值支持方式:<br> 100: 设置数值 <br> 5*60: 乘法表达式值为30 <br> ${env.scheduling.fixedDelay}: 读取系统配置项 <br> #delays: 读取宿主对象的delays字段值作为值, <br> &emsp;&emsp;&emsp;&emsp;&emsp; 字段类型必须是int、long数值类型 <br> 值大于0且fixedRate小于0则使用 ScheduledThreadPoolExecutor.scheduleWithFixedDelay |
|fixedRate|-1|周期时间,负数为无效值,支持参数配置、乘法表达式和对象字段值 <br> 参数值支持方式:<br> 100: 设置数值 <br> 5*60: 乘法表达式值为30 <br> ${env.scheduling.fixedRate}: 读取系统配置项 <br> #intervals: 读取宿主对象的intervals字段值作为值, <br> &emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp; 字段类型必须是int、long数值类型 <br> 值大于0且fixedRate小于0则使用 ScheduledThreadPoolExecutor.scheduleAtFixedRate |
|initialDelay|-1|起始延迟时间,负数为无效值,支持参数配置、乘法表达式和对象字段值 <br> 参数值支持方式:<br> 100: 设置数值 <br> 5*60: 乘法表达式值为30 <br> ${env.scheduling.initialDelay}: 读取系统配置项 <br> #inits: 读取宿主对象的inits字段值作为值, <br> &emsp;&emsp;&emsp;&emsp;&emsp;字段类型必须是int、long数值类型 <br> 值大于0且fixedRate和fixedDelay小于0则使用 ScheduledThreadPoolExecutor.schedule |
|timeUnit|```TimeUnit.SECONDS```|时间单位TimeUnit|
|comment|未定义|备注描述|
|mode|```LoadMode.LOCAL```|作用于Service模式默认值为LOCAL<br> LOCAL: 表示远程模式的Service对象中的定时任务不起作用|
# 用法
&emsp;&emsp;每秒执行
```java
@Scheduled(cron = "0/1 * * * * ?")

View File

@@ -14,7 +14,7 @@
|依赖加载|```@AutoLoad(false)```|此类Service只有被其他服务依赖或者显式的配置时才会被初始化<br> 主要用于工具类功能服务, <br> 比如```DataSource```、```CacheSource```|
|本地模式|```@Local```|此类Service无论配不配成远程模式都不会转成远程模式<br>主要用于功能依赖本地环境或者参数无法序列化的服务|
|组件模式|```@Component```|此类Service不会被动态生成协议层Servlet<br>主要用于无需提供对进程外提供接口的服务,<br> 比如```DataSource```、```CacheSource```的实现|
# 基本用法
# 用法
```java
@RestService(comment = "用户服务模块")
public class UserService implements Service {
@@ -52,7 +52,7 @@ public class UserService implements Service {
## 远程模式Service
&emsp;&emsp;远程Servie其实是提供RPC接口需要配置文件中显式配置才可使用远程模式。
```xml
<group name="remote-A" nodes="192.168.10.111:7070,192.168.10.112:7070"/>
<group name="remote-A" nodes="192.168.10.11:6060,192.168.10.22:7070"/>
<server protocol="HTTP" host="0.0.0.0" port="8080">
<services autoload="true" group="remote-A"/>