作业配置
与Spring
容器配合使用作业,可以将作业Bean
配置为Spring Bean
,可在作业中通过依赖注入使用Spring
容器管理的数据源等对象。可用placeholder
占位符从属性文件中取值。
Spring命名空间配置
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright - Alibaba Group.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:job="http://www.dangdang.com/schema/ddframe/job"
xsi:schemaLocation="http://www.dangdang.com/schema/ddframe/job http://www.dangdang.com/schema/ddframe/job/job.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.3.xsd"> <job:simple id="virtualInstanceChargeJobTrigger" job-ref="virtualInstanceChargeJob" registry-center-ref="zookeeperRegistryCenter" cron="*/30 * * * * ?" sharding-total-count="" />
</beans>
job:simple命名空间属性详细说明
属性名 | 类型 | 是否必填 | 缺省值 | 描述 |
---|---|---|---|---|
id | String | 是 |
作业名称 | |
class | String | 否 | 作业实现类,需实现ElasticJob 接口,脚本型作业不需要配置 |
|
registry-center-ref | String | 是 |
注册中心Bean 的引用,需引用reg:zookeeper 的声明 |
|
cron | String | 是 |
cron 表达式,用于配置作业触发时间 |
|
sharding-total-count | int | 是 |
作业分片总数 | |
sharding-item-parameters | String | 否 | 分片序列号和参数用等号分隔,多个键值对用逗号分隔 分片序列号从 0 开始,不可大于或等于作业分片总数如: 0=a,1=b,2=c
|
|
job-parameter | String | 否 | 作业自定义参数 可以配置多个相同的作业,但是用不同的参数作为不同的调度实例 |
|
monitor-execution | boolean | 否 | true | 监控作业运行时状态 每次作业执行时间和间隔时间均非常短的情况,建议不监控作业运行时状态以提升效率。因为是瞬时状态,所以无必要监控。请用户自行增加数据堆积监控。并且不能保证数据重复选取,应在作业中实现幂等性。 每次作业执行时间和间隔时间均较长的情况,建议监控作业运行时状态,可保证数据不会重复选取。 |
monitor-port | int | 否 | -1 | 作业监控端口 建议配置作业监控端口, 方便开发者dump作业信息。 使用方法: echo “dump” | nc 127.0.0.1 9888 |
max-time-diff-seconds | int | 否 | -1 | 最大允许的本机与注册中心的时间误差秒数 如果时间误差超过配置秒数则作业启动时将抛异常 配置为 -1 表示不校验时间误差 |
failover | boolean | 否 | false | 是否开启失效转移 仅 monitorExecution 开启,失效转移才有效 |
misfire | boolean | 否 | true | 是否开启错过任务重新执行 |
job-sharding-strategy-class | String | 否 | true | 作业分片策略实现类全路径 默认使用平均分配策略 详情参见:作业分片策略 |
description | String | 否 | 作业描述信息 | |
disabled | boolean | 否 | false | 作业是否禁止启动 可用于部署作业时,先禁止启动,部署结束后统一启动 |
overwrite | boolean | 否 | false | 本地配置是否可覆盖注册中心配置 如果可覆盖,每次启动作业都以本地配置为准 |