This is an automated email from the ASF dual-hosted git repository.

wuweijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere-elasticjob.git


The following commit(s) were added to refs/heads/master by this push:
     new 601277e  support spring module timeZone (#1957)
601277e is described below

commit 601277eb0f5448f8d201e43ab1e5b2919561afca
Author: skai <[email protected]>
AuthorDate: Tue Aug 10 13:51:38 2021 +0800

    support spring module timeZone (#1957)
    
    Co-authored-by: 蔡顺铠 <[email protected]>
---
 .../user-manual/elasticjob-lite/configuration/_index.cn.md    | 11 ++++++-----
 .../user-manual/elasticjob-lite/configuration/_index.en.md    |  1 +
 .../user-manual/elasticjob-lite/configuration/java-api.cn.md  |  1 +
 .../user-manual/elasticjob-lite/configuration/java-api.en.md  |  1 +
 .../elasticjob-lite/configuration/spring-boot-starter.cn.md   |  3 +++
 .../elasticjob-lite/configuration/spring-boot-starter.en.md   |  3 +++
 .../elasticjob-lite/configuration/spring-namespace.cn.md      |  1 +
 .../elasticjob-lite/configuration/spring-namespace.en.md      |  1 +
 .../spring/boot/job/ElasticJobConfigurationProperties.java    |  4 +++-
 .../boot/job/ElasticJobConfigurationPropertiesTest.java       |  2 ++
 .../src/test/resources/application-elasticjob.yml             |  1 +
 .../spring/namespace/job/parser/JobBeanDefinitionParser.java  |  3 +--
 .../lite/spring/namespace/job/tag/JobBeanDefinitionTag.java   |  2 ++
 .../src/main/resources/META-INF/namespace/elasticjob.xsd      |  1 +
 14 files changed, 27 insertions(+), 8 deletions(-)

diff --git 
a/docs/content/user-manual/elasticjob-lite/configuration/_index.cn.md 
b/docs/content/user-manual/elasticjob-lite/configuration/_index.cn.md
index 364a783..a330eee 100644
--- a/docs/content/user-manual/elasticjob-lite/configuration/_index.cn.md
+++ b/docs/content/user-manual/elasticjob-lite/configuration/_index.cn.md
@@ -42,19 +42,20 @@ ElasticJob-Lite 提供了 3 种配置方式,用于不同的使用场景。
 | jobName                       | String     |                | 作业名称           
                  |
 | shardingTotalCount            | int        |                | 作业分片总数         
                 |
 | cron                          | String     |                | CRON 
表达式,用于控制作业触发时间       |
+| timeZone                      | String     |                | CRON 的时区设置     
                 |
 | shardingItemParameters        | String     |                | 个性化分片参数        
                |
 | jobParameter                  | String     |                | 作业自定义参数        
                |
 | monitorExecution              | boolean    | true           | 监控作业运行时状态      
              |
 | failover                      | boolean    | false          | 是否开启任务执行失效转移   
            |
 | misfire                       | boolean    | true           | 是否开启错过任务重新执行   
            |
-| maxTimeDiffSeconds            | int        | -1(不检查)    | 
最大允许的本机与注册中心的时间误差秒数   |
-| reconcileIntervalMinutes      | int        | 10             | 
修复作业服务器不一致状态服务调度间隔分钟 |
+| maxTimeDiffSeconds            | int        | -1(不检查)     | 
最大允许的本机与注册中心的时间误差秒数    |
+| reconcileIntervalMinutes      | int        | 10             | 
修复作业服务器不一致状态服务调度间隔分钟  |
 | jobShardingStrategyType       | String     | AVG_ALLOCATION | 作业分片策略类型       
               |
 | jobExecutorServiceHandlerType | String     | CPU            | 作业线程池处理策略      
              |
 | jobErrorHandlerType           | String     |                | 作业错误处理策略       
               |
-| description                   | String     |                | 作业描述信息         
                 |
-| props                         | Properties |                | 作业属性配置信息       
                |
-| disabled                      | boolean    | false          | 作业是否禁止启动       
                |
+| description                   | String     |                | 作业描述信息         
                |
+| props                         | Properties |                | 作业属性配置信息       
               |
+| disabled                      | boolean    | false          | 作业是否禁止启动       
               |
 | overwrite                     | boolean    | false          | 
本地配置是否可覆盖注册中心配置           |
 
 ### 核心配置项说明
diff --git 
a/docs/content/user-manual/elasticjob-lite/configuration/_index.en.md 
b/docs/content/user-manual/elasticjob-lite/configuration/_index.en.md
index ae5ba39..195e4e6 100644
--- a/docs/content/user-manual/elasticjob-lite/configuration/_index.en.md
+++ b/docs/content/user-manual/elasticjob-lite/configuration/_index.en.md
@@ -41,6 +41,7 @@ Include IP and port, multiple addresses are separated by 
commas, such as: `host1
 | jobName                       | String          |                      | Job 
name                                                                            
  |
 | shardingTotalCount            | int             |                      | 
Sharding total count                                                            
      |
 | cron                          | String          |                      | 
CRON expression, control the job trigger time                                   
      |
+| timeZone                      | String          |                      | 
time zone of CRON                                                               
      |
 | shardingItemParameters        | String          |                      | 
Sharding item parameters                                                        
      |
 | jobParameter                  | String          |                      | Job 
parameter                                                                       
  |
 | monitorExecution              | boolean         | true                 | 
Monitor job execution status                                                    
      |
diff --git 
a/docs/content/user-manual/elasticjob-lite/configuration/java-api.cn.md 
b/docs/content/user-manual/elasticjob-lite/configuration/java-api.cn.md
index 2bb2478..02c3d2b 100644
--- a/docs/content/user-manual/elasticjob-lite/configuration/java-api.cn.md
+++ b/docs/content/user-manual/elasticjob-lite/configuration/java-api.cn.md
@@ -34,6 +34,7 @@ chapter = true
 | jobName                       | 是        |
 | shardingTotalCount            | 是        |
 | cron                          | 否        |
+| timeZone                      | 否        |
 | shardingItemParameters        | 否        |
 | jobParameter                  | 否        |
 | monitorExecution              | 否        |
diff --git 
a/docs/content/user-manual/elasticjob-lite/configuration/java-api.en.md 
b/docs/content/user-manual/elasticjob-lite/configuration/java-api.en.md
index 74ea1e0..3670e0b 100644
--- a/docs/content/user-manual/elasticjob-lite/configuration/java-api.en.md
+++ b/docs/content/user-manual/elasticjob-lite/configuration/java-api.en.md
@@ -34,6 +34,7 @@ Configuration:
 | jobName                       | Yes                   |
 | shardingTotalCount            | Yes                   |
 | cron                          | No                    |
+| timeZone                      | No                    |
 | shardingItemParameters        | No                    |
 | jobParameter                  | No                    |
 | monitorExecution              | No                    |
diff --git 
a/docs/content/user-manual/elasticjob-lite/configuration/spring-boot-starter.cn.md
 
b/docs/content/user-manual/elasticjob-lite/configuration/spring-boot-starter.cn.md
index 7f25c02..b40b79b 100644
--- 
a/docs/content/user-manual/elasticjob-lite/configuration/spring-boot-starter.cn.md
+++ 
b/docs/content/user-manual/elasticjob-lite/configuration/spring-boot-starter.cn.md
@@ -47,6 +47,7 @@ elasticjob.reg-center.server-lists=localhost:6181
 | --------------------------------- |:-------- |
 | elasticJobClass / elasticJobType  | 是       |
 | cron                              | 否       |
+| timeZone                          | 否       |
 | jobBootstrapBeanName              | 否       |
 | sharding-total-count              | 是       |
 | sharding-item-parameters          | 否       |
@@ -80,6 +81,7 @@ elasticjob:
     simpleJob:
       elasticJobClass: 
org.apache.shardingsphere.elasticjob.lite.example.job.SpringBootSimpleJob
       cron: 0/5 * * * * ?
+      timeZone: GMT+08:00
       shardingTotalCount: 3
       shardingItemParameters: 0=Beijing,1=Shanghai,2=Guangzhou
     scriptJob:
@@ -100,6 +102,7 @@ elasticjob:
 ```
 
elasticjob.jobs.simpleJob.elastic-job-class=org.apache.shardingsphere.elasticjob.lite.example.job.SpringBootSimpleJob
 elasticjob.jobs.simpleJob.cron=0/5 * * * * ?
+elasticjob.jobs.simpleJob.timeZone=GMT+08:00
 elasticjob.jobs.simpleJob.sharding-total-count=3
 
elasticjob.jobs.simpleJob.sharding-item-parameters=0=Beijing,1=Shanghai,2=Guangzhou
 elasticjob.jobs.scriptJob.elastic-job-type=SCRIPT
diff --git 
a/docs/content/user-manual/elasticjob-lite/configuration/spring-boot-starter.en.md
 
b/docs/content/user-manual/elasticjob-lite/configuration/spring-boot-starter.en.md
index 2852abd..e87764b 100644
--- 
a/docs/content/user-manual/elasticjob-lite/configuration/spring-boot-starter.en.md
+++ 
b/docs/content/user-manual/elasticjob-lite/configuration/spring-boot-starter.en.md
@@ -47,6 +47,7 @@ Configuration:
 | --------------------------------- |:-------- |
 | elasticJobClass / elasticJobType  | Yes      |
 | cron                              | No       |
+| timeZone                          | No       |
 | jobBootstrapBeanName              | No       |
 | sharding-total-count              | Yes      |
 | sharding-item-parameters          | No       |
@@ -81,6 +82,7 @@ elasticjob:
     simpleJob:
       elasticJobClass: 
org.apache.shardingsphere.elasticjob.lite.example.job.SpringBootSimpleJob
       cron: 0/5 * * * * ?
+      timeZone: GMT+08:00
       shardingTotalCount: 3
       shardingItemParameters: 0=Beijing,1=Shanghai,2=Guangzhou
     scriptJob:
@@ -101,6 +103,7 @@ elasticjob:
 ```
 
elasticjob.jobs.simpleJob.elastic-job-class=org.apache.shardingsphere.elasticjob.lite.example.job.SpringBootSimpleJob
 elasticjob.jobs.simpleJob.cron=0/5 * * * * ?
+elasticjob.jobs.simpleJob.timeZone=GMT+08:00
 elasticjob.jobs.simpleJob.sharding-total-count=3
 
elasticjob.jobs.simpleJob.sharding-item-parameters=0=Beijing,1=Shanghai,2=Guangzhou
 elasticjob.jobs.scriptJob.elastic-job-type=SCRIPT
diff --git 
a/docs/content/user-manual/elasticjob-lite/configuration/spring-namespace.cn.md 
b/docs/content/user-manual/elasticjob-lite/configuration/spring-namespace.cn.md
index bb117f0..a1cf12c 100644
--- 
a/docs/content/user-manual/elasticjob-lite/configuration/spring-namespace.cn.md
+++ 
b/docs/content/user-manual/elasticjob-lite/configuration/spring-namespace.cn.md
@@ -48,6 +48,7 @@ chapter = true
 | registry-center-ref               | 是       |
 | tracing-ref                       | 否       |
 | cron                              | 是       |
+| timeZone                          | 否       |
 | sharding-total-count              | 是       |
 | sharding-item-parameters          | 否       |
 | job-parameter                     | 否       |
diff --git 
a/docs/content/user-manual/elasticjob-lite/configuration/spring-namespace.en.md 
b/docs/content/user-manual/elasticjob-lite/configuration/spring-namespace.en.md
index 3b92310..34301a2 100644
--- 
a/docs/content/user-manual/elasticjob-lite/configuration/spring-namespace.en.md
+++ 
b/docs/content/user-manual/elasticjob-lite/configuration/spring-namespace.en.md
@@ -48,6 +48,7 @@ Configuration:
 | registry-center-ref               | Yes      |
 | tracing-ref                       | No       |
 | cron                              | Yes      |
+| timeZone                          | No       |
 | sharding-total-count              | Yes      |
 | sharding-item-parameters          | No       |
 | job-parameter                     | No       |
diff --git 
a/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-boot-starter/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/boot/job/ElasticJobConfigurationProperties.java
 
b/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-boot-starter/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/boot/job/ElasticJobConfigurationProperties.java
index d172fba..102c443 100644
--- 
a/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-boot-starter/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/boot/job/ElasticJobConfigurationProperties.java
+++ 
b/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-boot-starter/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/boot/job/ElasticJobConfigurationProperties.java
@@ -39,6 +39,8 @@ public final class ElasticJobConfigurationProperties {
     
     private String cron;
     
+    private String timeZone;
+    
     private String jobBootstrapBeanName;
     
     private int shardingTotalCount;
@@ -81,7 +83,7 @@ public final class ElasticJobConfigurationProperties {
      */
     public JobConfiguration toJobConfiguration(final String jobName) {
         JobConfiguration result = JobConfiguration.newBuilder(jobName, 
shardingTotalCount)
-                
.cron(cron).shardingItemParameters(shardingItemParameters).jobParameter(jobParameter)
+                
.cron(cron).timeZone(timeZone).shardingItemParameters(shardingItemParameters).jobParameter(jobParameter)
                 
.monitorExecution(monitorExecution).failover(failover).misfire(misfire)
                 
.maxTimeDiffSeconds(maxTimeDiffSeconds).reconcileIntervalMinutes(reconcileIntervalMinutes)
                 
.jobShardingStrategyType(jobShardingStrategyType).jobExecutorServiceHandlerType(jobExecutorServiceHandlerType).jobErrorHandlerType(jobErrorHandlerType)
diff --git 
a/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/lite/spring/boot/job/ElasticJobConfigurationPropertiesTest.java
 
b/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/lite/spring/boot/job/ElasticJobConfigurationPropertiesTest.java
index 5fb9740..52f78a8 100644
--- 
a/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/lite/spring/boot/job/ElasticJobConfigurationPropertiesTest.java
+++ 
b/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/lite/spring/boot/job/ElasticJobConfigurationPropertiesTest.java
@@ -33,6 +33,7 @@ public final class ElasticJobConfigurationPropertiesTest {
         properties.setElasticJobClass(ElasticJob.class);
         properties.setElasticJobType("jobType");
         properties.setCron("cron");
+        properties.setTimeZone("timeZone");
         properties.setJobBootstrapBeanName("beanName");
         properties.setShardingTotalCount(3);
         properties.setShardingItemParameters("a=1,b=2");
@@ -54,6 +55,7 @@ public final class ElasticJobConfigurationPropertiesTest {
         assertThat(actual.getJobName(), is("testJob"));
         assertThat(actual.getShardingTotalCount(), 
is(properties.getShardingTotalCount()));
         assertThat(actual.getCron(), is(properties.getCron()));
+        assertThat(actual.getTimeZone(), is(properties.getTimeZone()));
         assertThat(actual.getShardingItemParameters(), 
is(properties.getShardingItemParameters()));
         assertThat(actual.getJobParameter(), is(properties.getJobParameter()));
         assertThat(actual.getMaxTimeDiffSeconds(), 
is(properties.getMaxTimeDiffSeconds()));
diff --git 
a/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-boot-starter/src/test/resources/application-elasticjob.yml
 
b/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-boot-starter/src/test/resources/application-elasticjob.yml
index e90702f..1e7ec2b 100644
--- 
a/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-boot-starter/src/test/resources/application-elasticjob.yml
+++ 
b/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-boot-starter/src/test/resources/application-elasticjob.yml
@@ -44,6 +44,7 @@ elasticjob:
         print.content: "test print job"
     defaultBeanNameClassJob:
       cron: 0/5 * * * * ?
+      timeZome: GMT+08:00
       elasticJobClass: 
org.apache.shardingsphere.elasticjob.lite.spring.boot.job.fixture.job.impl.CustomTestJob
       shardingTotalCount: 3
     defaultBeanNameTypeJob:
diff --git 
a/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-namespace/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/namespace/job/parser/JobBeanDefinitionParser.java
 
b/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-namespace/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/namespace/job/parser/JobBeanDefinitionParser.java
index 87166e7..001543b 100644
--- 
a/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-namespace/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/namespace/job/parser/JobBeanDefinitionParser.java
+++ 
b/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-namespace/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/namespace/job/parser/JobBeanDefinitionParser.java
@@ -66,8 +66,7 @@ public final class JobBeanDefinitionParser extends 
AbstractBeanDefinitionParser
         BeanDefinitionBuilder result = 
BeanDefinitionBuilder.rootBeanDefinition(JobConfiguration.class);
         result.addConstructorArgValue(element.getAttribute(ID_ATTRIBUTE));
         
result.addConstructorArgValue(element.getAttribute(JobBeanDefinitionTag.CRON_ATTRIBUTE));
-        //TODO Need support the timeZone
-        result.addConstructorArgValue(null);
+        
result.addConstructorArgValue(element.getAttribute(JobBeanDefinitionTag.TIME_ZONE_ATTRIBUTE));
         
result.addConstructorArgValue(element.getAttribute(JobBeanDefinitionTag.SHARDING_TOTAL_COUNT_ATTRIBUTE));
         
result.addConstructorArgValue(element.getAttribute(JobBeanDefinitionTag.SHARDING_ITEM_PARAMETERS_ATTRIBUTE));
         
result.addConstructorArgValue(element.getAttribute(JobBeanDefinitionTag.JOB_PARAMETER_ATTRIBUTE));
diff --git 
a/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-namespace/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/namespace/job/tag/JobBeanDefinitionTag.java
 
b/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-namespace/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/namespace/job/tag/JobBeanDefinitionTag.java
index 617dde5..3f0852b 100644
--- 
a/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-namespace/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/namespace/job/tag/JobBeanDefinitionTag.java
+++ 
b/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-namespace/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/namespace/job/tag/JobBeanDefinitionTag.java
@@ -36,6 +36,8 @@ public final class JobBeanDefinitionTag {
     
     public static final String CRON_ATTRIBUTE = "cron";
     
+    public static final String TIME_ZONE_ATTRIBUTE = "time-zone";
+    
     public static final String SHARDING_TOTAL_COUNT_ATTRIBUTE = 
"sharding-total-count";
     
     public static final String SHARDING_ITEM_PARAMETERS_ATTRIBUTE = 
"sharding-item-parameters";
diff --git 
a/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-namespace/src/main/resources/META-INF/namespace/elasticjob.xsd
 
b/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-namespace/src/main/resources/META-INF/namespace/elasticjob.xsd
index 372da0f..ef91aba 100644
--- 
a/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-namespace/src/main/resources/META-INF/namespace/elasticjob.xsd
+++ 
b/elasticjob-lite/elasticjob-lite-spring/elasticjob-lite-spring-namespace/src/main/resources/META-INF/namespace/elasticjob.xsd
@@ -35,6 +35,7 @@
                     <xsd:attribute name="registry-center-ref" 
type="xsd:string" use="required" />
                     <xsd:attribute name="sharding-total-count" 
type="xsd:string" use="required" />
                     <xsd:attribute name="cron" type="xsd:string" />
+                    <xsd:attribute name="time-zone" type="xsd:string" />
                     <xsd:attribute name="sharding-item-parameters" 
type="xsd:string" />
                     <xsd:attribute name="job-parameter" type="xsd:string" />
                     <xsd:attribute name="monitor-execution" type="xsd:string" 
default="true" />

Reply via email to