You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2020/06/22 04:55:32 UTC

[shardingsphere-elasticjob-lite] branch master updated: Rename JobExceptionHandler to JobErrorHandler (#809)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new e6ae27d  Rename JobExceptionHandler to JobErrorHandler (#809)
e6ae27d is described below

commit e6ae27dc26d6cd7e4fb1d14441898e7c298878c6
Author: Liang Zhang <te...@163.com>
AuthorDate: Mon Jun 22 12:55:22 2020 +0800

    Rename JobExceptionHandler to JobErrorHandler (#809)
---
 docs/content/02-guide/config-manual.md             |  4 +--
 docs/content/02-guide/customized-hook.md           |  2 +-
 .../console/html/status/job/job_config.html        |  4 +--
 .../resources/console/i18n/message_en.properties   |  6 ++--
 .../resources/console/i18n/message_zh.properties   |  4 +--
 .../resources/console/js/status/job/job_config.js  |  4 +--
 .../console/js/status/job/jobs_status_overview.js  |  2 +-
 .../lite/config/JobCoreConfiguration.java          | 14 ++++-----
 .../lite/executor/ElasticJobExecutor.java          | 16 +++++------
 ...bExceptionHandler.java => JobErrorHandler.java} |  8 +++---
 ...lerFactory.java => JobErrorHandlerFactory.java} | 18 ++++++------
 ...tionHandler.java => IgnoreJobErrorHandler.java} |  6 ++--
 ...ceptionHandler.java => LogJobErrorHandler.java} |  6 ++--
 ...ptionHandler.java => ThrowJobErrorHandler.java} |  6 ++--
 .../AbstractJobConfigurationGsonTypeAdapter.java   | 16 +++++------
 ...ob.lite.executor.handler.error.JobErrorHandler} |  6 ++--
 .../lite/config/JobCoreConfigurationTest.java      |  2 +-
 ...andlerTest.java => LogJobErrorHandlerTest.java} |  4 +--
 .../lite/executor/type/SimpleJobExecutorTest.java  |  4 +--
 .../elasticjob/lite/fixture/APIJsonConstants.java  | 24 ++++++++--------
 .../config/TestDataflowJobConfiguration.java       |  2 +-
 .../fixture/config/TestScriptJobConfiguration.java |  4 +--
 .../fixture/config/TestSimpleJobConfiguration.java |  4 +--
 .../lite/integrate/AbstractBaseStdJobTest.java     |  2 +-
 .../src/test/resources/logback-test.xml            |  2 +-
 .../lite/lifecycle/domain/JobSettings.java         |  2 +-
 .../internal/settings/JobSettingsAPIImpl.java      |  2 +-
 .../common/AbstractJobBeanDefinitionParser.java    |  2 +-
 .../common/BaseJobBeanDefinitionParserTag.java     |  2 +-
 .../src/main/resources/META-INF/namespace/job.xsd  |  4 +--
 .../fixture/handler/SimpleJobExceptionHandler.java | 33 ----------------------
 .../resources/META-INF/job/withEventTraceRdb.xml   |  2 +-
 .../test/resources/META-INF/job/withJobHandler.xml |  4 +--
 33 files changed, 94 insertions(+), 127 deletions(-)

diff --git a/docs/content/02-guide/config-manual.md b/docs/content/02-guide/config-manual.md
index c4d0153..84ab849 100644
--- a/docs/content/02-guide/config-manual.md
+++ b/docs/content/02-guide/config-manual.md
@@ -43,7 +43,7 @@ JobTypeConfiguration根据不同实现类型分为SimpleJobConfiguration,Dataf
 | failover                      | boolean | 否       | false  | 是否开启任务执行失效转移,开启表示如果作业在一次任务执行中途宕机,允许将该次未完成的任务在另一作业节点上补偿执行 |
 | misfire                       | boolean | 否       | true   | 是否开启错过任务重新执行 |
 | jobExecutorServiceHandlerType | String  | 否       |        | 配置作业线程池处理策略   |
-| jobExceptionHandlerType       | String  | 否       |        | 配置作业异常处理策略     |
+| jobErrorHandlerType       | String  | 否       |        | 配置作业异常处理策略     |
 | description                   | String  | 否       |        | 作业描述信息 |
 
 #### SimpleJobConfiguration属性详细说明
@@ -133,7 +133,7 @@ Spring命名空间与Java Code方式配置类似,大部分属性只是将命
 | description                  | String  | 否      |                 | 作业描述信息                                                                 |
 | disabled                     | boolean | 否      | false           | 作业是否禁止启动<br />可用于部署作业时,先禁止启动,部署结束后统一启动              |
 | overwrite                    | boolean | 否      | false           | 本地配置是否可覆盖注册中心配置<br />如果可覆盖,每次启动作业都以本地配置为准         |
-| job-exception-handler        | String  | 否      |                 | 扩展异常处理类                                                               |
+| job-error-handler            | String  | 否      |                 | 扩展异常处理类                                                               |
 | job-executor-service-handler | String  | 否      |                 | 扩展作业处理线程池类                                                          |
 | reconcile-interval-minutes   | int     | 否      | 10              | 修复作业服务器不一致状态服务调度间隔时间,配置为小于1的任意值表示不执行修复<br />单位:分钟 |
 | event-trace-rdb-data-source  | String  | 否      |                 | 作业事件追踪的数据源Bean引用                                                   |
diff --git a/docs/content/02-guide/customized-hook.md b/docs/content/02-guide/customized-hook.md
index d467c2c..7ac83c8 100644
--- a/docs/content/02-guide/customized-hook.md
+++ b/docs/content/02-guide/customized-hook.md
@@ -11,7 +11,7 @@ Elastic-Job 在配置中提供了 JobHandler,用于定制化处理,目前支
 
 ## 异常处理
 
-可扩展 JobExceptionHandler 接口,默认实现是记录日志但不抛出异常。
+可扩展 JobErrorHandler 接口,默认实现是记录日志但不抛出异常。
 
 ## 作业处理线程池
 
diff --git a/elastic-job-lite-console/src/main/resources/console/html/status/job/job_config.html b/elastic-job-lite-console/src/main/resources/console/html/status/job/job_config.html
index 9699c02..17fd2c2 100644
--- a/elastic-job-lite-console/src/main/resources/console/html/status/job/job_config.html
+++ b/elastic-job-lite-console/src/main/resources/console/html/status/job/job_config.html
@@ -139,9 +139,9 @@
                     </div>
                 </div>
                 <div class="form-group">
-                    <label for="job-exception-handler" class="col-sm-2 control-label" data-lang="job-exception-handler"></label>
+                    <label for="job-error-handler" class="col-sm-2 control-label" data-lang="job-error-handler"></label>
                     <div class="col-sm-9">
-                        <input type="text" id="job-exception-handler" name="jobExceptionHandler" class="form-control" data-toggle="tooltip" data-placement="bottom" title="扩展`JobExceptionHandler`接口,定制异常处理流程,默认实现是记录日志但不抛出异常。" />
+                        <input type="text" id="job-error-handler" name="jobErrorHandler" class="form-control" data-toggle="tooltip" data-placement="bottom" title="扩展`JobErrorHandler`接口,定制异常处理流程,默认实现是记录日志但不抛出异常。" />
                     </div>
                 </div>
                 <div class="form-group">
diff --git a/elastic-job-lite-console/src/main/resources/console/i18n/message_en.properties b/elastic-job-lite-console/src/main/resources/console/i18n/message_en.properties
index b9459f7..ab4f335 100644
--- a/elastic-job-lite-console/src/main/resources/console/i18n/message_en.properties
+++ b/elastic-job-lite-console/src/main/resources/console/i18n/message_en.properties
@@ -87,7 +87,7 @@ job-type=Job type
 job-class=Job class
 job-parameter=Job parameter
 job-sharding-strategy-type=Job sharding strategy type
-job-exception-handler=Job exception handler
+job-error-handler=Job error handler
 job-cron=Crontab
 job-sharding-total-count=Sharding total count
 job-max-time-diff-seconds=Max time diff seconds
@@ -119,11 +119,11 @@ placeholder-monitor-port=Grab the job registration information to listen for the
 placeholder-reconcile-interval-minutes=Fix the error-state job server scan repair cycle. The configuration is -1 indicating that the fix action is not enabled.
 placeholder-monitor-execution=Each job execution time and interval time is very short, suggest not to monitor homework runtime state in order to enhance efficiency, because it is a transient state, so no need to monitor. Users will be asked to increase their own data accumulation monitoring. There is no guarantee that the data will be repeated, which should be achieved in the operation. It also fails to implement the job failure transfer. It is recommended that the monitoring operation s [...]
 placeholder-failover=Whether open task execution failure, open said if the job tasks performed in a halfway down, allowing the time unfinished task on the node of another job compensation is carried out.
-placeholder-misfire=Whether the task is open misses the reexecution
+placeholder-misfire=Whether the task is open misses the re-execution
 placeholder-streaming-process=If the data is processed, fetch data will not return empty results and will continue to perform the work. If the data is not flowing, the data is processed and the job is finished
 placeholder-sharding-item-parameters=Separate serial Numbers and parameters are separated by equals, and multiple key values are separated by commas, similar to map. The serial serial Numbers start from 0, not greater than or equal to the total number of assignments. For example, 0 = a, 1 = b, 2 = c
 placeholder-job-sharding-strategy-type=By default, you can customize the share-chip strategy based on IP address sequentially
-placeholder-job-exception-handler=Extension 'JobExceptionHandler' interface, custom exception handling process, the default implementation is log but not throw an exception.
+placeholder-job-error-handler=Extension 'JobErrorHandler' interface, custom exception handling process, the default implementation is log but not throw an exception.
 placeholder-job-executor-service-handler=Extension 'JobExecutorServiceHandler' interface, custom thread pool.
 placeholder-script-command-line=The full path name of the execution script can contain parameters
 
diff --git a/elastic-job-lite-console/src/main/resources/console/i18n/message_zh.properties b/elastic-job-lite-console/src/main/resources/console/i18n/message_zh.properties
index b3d426f..0f0a672 100644
--- a/elastic-job-lite-console/src/main/resources/console/i18n/message_zh.properties
+++ b/elastic-job-lite-console/src/main/resources/console/i18n/message_zh.properties
@@ -87,7 +87,7 @@ job-type=作业类型
 job-class=作业实现类
 job-parameter=自定义参数
 job-sharding-strategy-type=作业分片策略类型
-job-exception-handler=定制异常处理类全路径
+job-error-handler=定制异常处理类全路径
 job-cron=Cron表达式
 job-sharding-total-count=作业分片总数
 job-max-time-diff-seconds=最大容忍本机与注册中心的时间误差秒数
@@ -123,7 +123,7 @@ placeholder-misfire=是否开启任务错过重新执行
 placeholder-streaming-process=如果流式处理数据, 则fetchData不返回空结果将持续执行作业; 如果非流式处理数据, 则处理数据完成后作业结束
 placeholder-sharding-item-parameters=分片序列号和参数用等号分隔,多个键值对用逗号分隔,类似map。分片序列号从0开始,不可大于或等于作业分片总数。如:0=a,1=b,2=c
 placeholder-job-sharding-strategy-type=默认使用按照IP地址顺序分片策略,可参照文档定制化分片策略
-placeholder-job-exception-handler=扩展`JobExceptionHandler`接口,定制异常处理流程,默认实现是记录日志但不抛出异常。
+placeholder-job-error-handler=扩展 `JobErrorHandler` 接口,定制异常处理流程,默认实现是记录日志但不抛出异常。
 placeholder-job-executor-service-handler=扩展 `JobExecutorServiceHandler` 接口,定制线程池。
 placeholder-script-command-line=执行脚本的全路径名称,可以包含参数
 
diff --git a/elastic-job-lite-console/src/main/resources/console/js/status/job/job_config.js b/elastic-job-lite-console/src/main/resources/console/js/status/job/job_config.js
index aa4f87a..ec49f0f 100644
--- a/elastic-job-lite-console/src/main/resources/console/js/status/job/job_config.js
+++ b/elastic-job-lite-console/src/main/resources/console/js/status/job/job_config.js
@@ -67,10 +67,10 @@ function bindSubmitJobSettingsForm() {
             var jobShardingStrategyType = $("#job-sharding-strategy-type").val();
             var scriptCommandLine = $("#script-command-line").val();
             var jobExecutorServiceHandler = $("#job-executor-service-handler").val();
-            var jobExceptionHandler = $("#job-exception-handler").val();
+            var jobErrorHandler = $("#job-error-handler").val();
             var description = $("#description").val();
             var reconcileIntervalMinutes = $("#reconcile-interval-minutes").val();
-            var postJson = {jobName: jobName, jobType : jobType, shardingTotalCount: shardingTotalCount, jobParameter: jobParameter, cron: cron, streamingProcess: streamingProcess, maxTimeDiffSeconds: maxTimeDiffSeconds, monitorPort: monitorPort, monitorExecution: monitorExecution, failover: failover, misfire: misfire, shardingItemParameters: shardingItemParameters, jobShardingStrategyType: jobShardingStrategyType, jobExecutorServiceHandler: jobExecutorServiceHandler, jobExceptionHandler [...]
+            var postJson = {jobName: jobName, jobType : jobType, shardingTotalCount: shardingTotalCount, jobParameter: jobParameter, cron: cron, streamingProcess: streamingProcess, maxTimeDiffSeconds: maxTimeDiffSeconds, monitorPort: monitorPort, monitorExecution: monitorExecution, failover: failover, misfire: misfire, shardingItemParameters: shardingItemParameters, jobShardingStrategyType: jobShardingStrategyType, jobExecutorServiceHandler: jobExecutorServiceHandler, jobErrorHandler: jo [...]
             var jobParams = getJobParams();
             if (jobParams.monitorExecution !== monitorExecution || jobParams.failover !== failover || jobParams.misfire !== misfire) {
                 showUpdateConfirmModal();
diff --git a/elastic-job-lite-console/src/main/resources/console/js/status/job/jobs_status_overview.js b/elastic-job-lite-console/src/main/resources/console/js/status/job/jobs_status_overview.js
index cd4a0e4..e0f8c18 100644
--- a/elastic-job-lite-console/src/main/resources/console/js/status/job/jobs_status_overview.js
+++ b/elastic-job-lite-console/src/main/resources/console/js/status/job/jobs_status_overview.js
@@ -235,7 +235,7 @@ function renderJob(data) {
     $("#monitor-port").attr("value", data.monitorPort);
     $("#job-sharding-strategy-type").attr("value", data.jobShardingStrategyType);
     $("#job-executor-service-handler").attr("value", data.jobExecutorServiceHandlerType);
-    $("#job-exception-handler").attr("value", data.jobExceptionHandlerType);
+    $("#job-error-handler").attr("value", data.jobErrorHandlerType);
     $("#reconcile-interval-minutes").attr("value", data.reconcileIntervalMinutes);
     $("#description").text(data.description);
     $("#script-command-line").attr("value", data.scriptCommandLine);
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/JobCoreConfiguration.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/JobCoreConfiguration.java
index f44e7a7..3de40e2 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/JobCoreConfiguration.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/JobCoreConfiguration.java
@@ -47,7 +47,7 @@ public final class JobCoreConfiguration {
     
     private final String jobExecutorServiceHandlerType;
     
-    private final String jobExceptionHandlerType;
+    private final String jobErrorHandlerType;
     
     private final String description;
     
@@ -82,7 +82,7 @@ public final class JobCoreConfiguration {
     
         private String jobExecutorServiceHandlerType;
     
-        private String jobExceptionHandlerType;
+        private String jobErrorHandlerType;
         
         private String description = "";
         
@@ -151,14 +151,14 @@ public final class JobCoreConfiguration {
         }
         
         /**
-         * Set job exception handler type.
+         * Set job error handler type.
          *
-         * @param jobExceptionHandlerType job exception handler type
+         * @param jobErrorHandlerType job error handler type
          *
          * @return job configuration builder
          */
-        public Builder jobExceptionHandlerType(final String jobExceptionHandlerType) {
-            this.jobExceptionHandlerType = jobExceptionHandlerType;
+        public Builder jobErrorHandlerType(final String jobErrorHandlerType) {
+            this.jobErrorHandlerType = jobErrorHandlerType;
             return this;
         }
         
@@ -198,7 +198,7 @@ public final class JobCoreConfiguration {
             Preconditions.checkArgument(!Strings.isNullOrEmpty(cron), "cron can not be empty.");
             Preconditions.checkArgument(shardingTotalCount > 0, "shardingTotalCount should larger than zero.");
             return new JobCoreConfiguration(
-                    jobName, cron, shardingTotalCount, shardingItemParameters, jobParameter, failover, misfire, jobExecutorServiceHandlerType, jobExceptionHandlerType, description);
+                    jobName, cron, shardingTotalCount, shardingItemParameters, jobParameter, failover, misfire, jobExecutorServiceHandlerType, jobErrorHandlerType, description);
         }
     }
 }
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/ElasticJobExecutor.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/ElasticJobExecutor.java
index 687bca4..fa08b39 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/ElasticJobExecutor.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/ElasticJobExecutor.java
@@ -26,8 +26,8 @@ import org.apache.shardingsphere.elasticjob.lite.event.type.JobExecutionEvent.Ex
 import org.apache.shardingsphere.elasticjob.lite.event.type.JobStatusTraceEvent.State;
 import org.apache.shardingsphere.elasticjob.lite.exception.ExceptionUtil;
 import org.apache.shardingsphere.elasticjob.lite.exception.JobExecutionEnvironmentException;
-import org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobExceptionHandler;
-import org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobExceptionHandlerFactory;
+import org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobErrorHandlerFactory;
 import org.apache.shardingsphere.elasticjob.lite.executor.handler.threadpool.JobExecutorServiceHandlerFactory;
 import org.apache.shardingsphere.elasticjob.lite.executor.type.JobItemExecutor;
 
@@ -53,7 +53,7 @@ public final class ElasticJobExecutor {
     
     private final ExecutorService executorService;
     
-    private final JobExceptionHandler jobExceptionHandler;
+    private final JobErrorHandler jobErrorHandler;
     
     private final Map<Integer, String> itemErrorMessages;
     
@@ -65,7 +65,7 @@ public final class ElasticJobExecutor {
         jobRootConfig = jobFacade.loadJobRootConfiguration(true);
         jobName = jobRootConfig.getTypeConfig().getCoreConfig().getJobName();
         executorService = JobExecutorServiceHandlerFactory.getHandler(jobRootConfig.getTypeConfig().getCoreConfig().getJobExecutorServiceHandlerType()).createExecutorService(jobName);
-        jobExceptionHandler = JobExceptionHandlerFactory.getHandler(jobRootConfig.getTypeConfig().getCoreConfig().getJobExceptionHandlerType());
+        jobErrorHandler = JobErrorHandlerFactory.getHandler(jobRootConfig.getTypeConfig().getCoreConfig().getJobErrorHandlerType());
         itemErrorMessages = new ConcurrentHashMap<>(jobRootConfig.getTypeConfig().getCoreConfig().getShardingTotalCount(), 1);
         this.jobItemExecutor = jobItemExecutor;
     }
@@ -77,7 +77,7 @@ public final class ElasticJobExecutor {
         try {
             jobFacade.checkJobExecutionEnvironment();
         } catch (final JobExecutionEnvironmentException cause) {
-            jobExceptionHandler.handleException(jobName, cause);
+            jobErrorHandler.handleException(jobName, cause);
         }
         ShardingContexts shardingContexts = jobFacade.getShardingContexts();
         if (shardingContexts.isAllowSendJobEvent()) {
@@ -96,7 +96,7 @@ public final class ElasticJobExecutor {
             //CHECKSTYLE:OFF
         } catch (final Throwable cause) {
             //CHECKSTYLE:ON
-            jobExceptionHandler.handleException(jobName, cause);
+            jobErrorHandler.handleException(jobName, cause);
         }
         execute(shardingContexts, ExecutionSource.NORMAL_TRIGGER);
         while (jobFacade.isExecuteMisfired(shardingContexts.getShardingItemParameters().keySet())) {
@@ -109,7 +109,7 @@ public final class ElasticJobExecutor {
             //CHECKSTYLE:OFF
         } catch (final Throwable cause) {
             //CHECKSTYLE:ON
-            jobExceptionHandler.handleException(jobName, cause);
+            jobErrorHandler.handleException(jobName, cause);
         }
     }
     
@@ -191,7 +191,7 @@ public final class ElasticJobExecutor {
             completeEvent = startEvent.executionFailure(cause);
             jobFacade.postJobExecutionEvent(completeEvent);
             itemErrorMessages.put(item, ExceptionUtil.transform(cause));
-            jobExceptionHandler.handleException(jobName, cause);
+            jobErrorHandler.handleException(jobName, cause);
         }
     }
 }
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobExceptionHandler.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobErrorHandler.java
similarity index 88%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobExceptionHandler.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobErrorHandler.java
index 0f7290a..4cf49f7 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobExceptionHandler.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobErrorHandler.java
@@ -18,9 +18,9 @@
 package org.apache.shardingsphere.elasticjob.lite.executor.handler.error;
 
 /**
- * Job exception handler.
+ * Job error handler.
  */
-public interface JobExceptionHandler {
+public interface JobErrorHandler {
     
     /**
      * Handle exception.
@@ -31,9 +31,9 @@ public interface JobExceptionHandler {
     void handleException(String jobName, Throwable cause);
     
     /**
-     * Get job exception handler type.
+     * Get job error handler type.
      *
-     * @return job exception handler type
+     * @return job error handler type
      */
     String getType();
 }
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobExceptionHandlerFactory.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobErrorHandlerFactory.java
similarity index 77%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobExceptionHandlerFactory.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobErrorHandlerFactory.java
index cb62dd3..a9985c7 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobExceptionHandlerFactory.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobErrorHandlerFactory.java
@@ -27,33 +27,33 @@ import java.util.Map;
 import java.util.ServiceLoader;
 
 /**
- * Job exception handler factory.
+ * Job error handler factory.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class JobExceptionHandlerFactory {
+public final class JobErrorHandlerFactory {
     
-    private static final Map<String, JobExceptionHandler> HANDLERS = new LinkedHashMap<>();
+    private static final Map<String, JobErrorHandler> HANDLERS = new LinkedHashMap<>();
     
     private static final String DEFAULT_HANDLER = "LOG";
     
     static {
-        for (JobExceptionHandler each : ServiceLoader.load(JobExceptionHandler.class)) {
+        for (JobErrorHandler each : ServiceLoader.load(JobErrorHandler.class)) {
             HANDLERS.put(each.getType(), each);
         }
     }
     
     /**
-     * Get job exception handler.
+     * Get job error handler.
      *
-     * @param type job exception handler type
-     * @return job exception handler
+     * @param type job error handler type
+     * @return job error handler
      */
-    public static JobExceptionHandler getHandler(final String type) {
+    public static JobErrorHandler getHandler(final String type) {
         if (Strings.isNullOrEmpty(type)) {
             return HANDLERS.get(DEFAULT_HANDLER);
         }
         if (!HANDLERS.containsKey(type)) {
-            throw new JobConfigurationException("Can not find job exception handler type '%s'.", type);
+            throw new JobConfigurationException("Can not find job error handler type '%s'.", type);
         }
         return HANDLERS.get(type);
     } 
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/IgnoreJobExceptionHandler.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/IgnoreJobErrorHandler.java
similarity index 88%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/IgnoreJobExceptionHandler.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/IgnoreJobErrorHandler.java
index 9da66fc..7bd9389 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/IgnoreJobExceptionHandler.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/IgnoreJobErrorHandler.java
@@ -17,12 +17,12 @@
 
 package org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl;
 
-import org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobExceptionHandler;
+import org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobErrorHandler;
 
 /**
- * Job exception handler for ignore exception.
+ * Job error handler for ignore exception.
  */
-public final class IgnoreJobExceptionHandler implements JobExceptionHandler {
+public final class IgnoreJobErrorHandler implements JobErrorHandler {
     
     @Override
     public void handleException(final String jobName, final Throwable cause) {
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/LogJobExceptionHandler.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/LogJobErrorHandler.java
similarity index 89%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/LogJobExceptionHandler.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/LogJobErrorHandler.java
index 91f08ba..57ec71d 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/LogJobExceptionHandler.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/LogJobErrorHandler.java
@@ -17,14 +17,14 @@
 
 package org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl;
 
-import org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobExceptionHandler;
+import org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobErrorHandler;
 import lombok.extern.slf4j.Slf4j;
 
 /**
- * Job exception handler for log error message.
+ * Job error handler for log error message.
  */
 @Slf4j
-public final class LogJobExceptionHandler implements JobExceptionHandler {
+public final class LogJobErrorHandler implements JobErrorHandler {
     
     @Override
     public void handleException(final String jobName, final Throwable cause) {
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/ThrowJobExceptionHandler.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/ThrowJobErrorHandler.java
similarity index 89%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/ThrowJobExceptionHandler.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/ThrowJobErrorHandler.java
index d027822..1dff96b 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/ThrowJobExceptionHandler.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/ThrowJobErrorHandler.java
@@ -18,12 +18,12 @@
 package org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl;
 
 import org.apache.shardingsphere.elasticjob.lite.exception.JobSystemException;
-import org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobExceptionHandler;
+import org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobErrorHandler;
 
 /**
- * Job exception handler for throw exception.
+ * Job error handler for throw exception.
  */
-public final class ThrowJobExceptionHandler implements JobExceptionHandler {
+public final class ThrowJobErrorHandler implements JobErrorHandler {
     
     @Override
     public void handleException(final String jobName, final Throwable cause) {
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/util/json/AbstractJobConfigurationGsonTypeAdapter.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/util/json/AbstractJobConfigurationGsonTypeAdapter.java
index fc77a54..0f3f440 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/util/json/AbstractJobConfigurationGsonTypeAdapter.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/util/json/AbstractJobConfigurationGsonTypeAdapter.java
@@ -51,7 +51,7 @@ public abstract class AbstractJobConfigurationGsonTypeAdapter<T extends JobRootC
         boolean failover = false;
         boolean misfire = failover;
         String jobExecutorServiceHandlerType = "";
-        String jobExceptionHandlerType = "";
+        String jobErrorHandlerType = "";
         String description = "";
         JobType jobType = null;
         boolean streamingProcess = false;
@@ -85,8 +85,8 @@ public abstract class AbstractJobConfigurationGsonTypeAdapter<T extends JobRootC
                 case "jobExecutorServiceHandlerType":
                     jobExecutorServiceHandlerType = in.nextString();
                     break;
-                case "jobExceptionHandlerType":
-                    jobExceptionHandlerType = in.nextString();
+                case "jobErrorHandlerType":
+                    jobErrorHandlerType = in.nextString();
                     break;
                 case "description":
                     description = in.nextString();
@@ -107,7 +107,7 @@ public abstract class AbstractJobConfigurationGsonTypeAdapter<T extends JobRootC
         }
         in.endObject();
         JobCoreConfiguration coreConfig = getJobCoreConfiguration(
-                jobName, cron, shardingTotalCount, shardingItemParameters, jobParameter, failover, misfire, jobExecutorServiceHandlerType, jobExceptionHandlerType, description);
+                jobName, cron, shardingTotalCount, shardingItemParameters, jobParameter, failover, misfire, jobExecutorServiceHandlerType, jobErrorHandlerType, description);
         JobTypeConfiguration typeConfig = getJobTypeConfiguration(coreConfig, jobType, streamingProcess, scriptCommandLine);
         return getJobRootConfiguration(typeConfig, customizedValueMap);
     }
@@ -116,11 +116,11 @@ public abstract class AbstractJobConfigurationGsonTypeAdapter<T extends JobRootC
     
     private JobCoreConfiguration getJobCoreConfiguration(final String jobName, final String cron, final int shardingTotalCount,
                                                          final String shardingItemParameters, final String jobParameter, final boolean failover,
-                                                         final boolean misfire, final String jobExecutorServiceHandlerType, final String jobExceptionHandlerType, final String description) {
+                                                         final boolean misfire, final String jobExecutorServiceHandlerType, final String jobErrorHandlerType, final String description) {
         return JobCoreConfiguration.newBuilder(jobName, cron, shardingTotalCount)
                 .shardingItemParameters(shardingItemParameters).jobParameter(jobParameter).failover(failover).misfire(misfire).description(description)
                 .jobExecutorServiceHandlerType(jobExecutorServiceHandlerType)
-                .jobExceptionHandlerType(jobExceptionHandlerType)
+                .jobErrorHandlerType(jobErrorHandlerType)
                 .build();
     }
     
@@ -154,8 +154,8 @@ public abstract class AbstractJobConfigurationGsonTypeAdapter<T extends JobRootC
         if (!Strings.isNullOrEmpty(value.getTypeConfig().getCoreConfig().getJobExecutorServiceHandlerType())) {
             out.name("jobExecutorServiceHandlerType").value(value.getTypeConfig().getCoreConfig().getJobExecutorServiceHandlerType());
         }
-        if (!Strings.isNullOrEmpty(value.getTypeConfig().getCoreConfig().getJobExceptionHandlerType())) {
-            out.name("jobExceptionHandlerType").value(value.getTypeConfig().getCoreConfig().getJobExceptionHandlerType());
+        if (!Strings.isNullOrEmpty(value.getTypeConfig().getCoreConfig().getJobErrorHandlerType())) {
+            out.name("jobErrorHandlerType").value(value.getTypeConfig().getCoreConfig().getJobErrorHandlerType());
         }
         out.name("description").value(value.getTypeConfig().getCoreConfig().getDescription());
         if (value.getTypeConfig().getJobType() == JobType.DATAFLOW) {
diff --git a/elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobExceptionHandler b/elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobErrorHandler
similarity index 91%
rename from elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobExceptionHandler
rename to elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobErrorHandler
index fcb0cd5..c68ec07 100644
--- a/elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobExceptionHandler
+++ b/elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobErrorHandler
@@ -15,6 +15,6 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl.LogJobExceptionHandler
-org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl.IgnoreJobExceptionHandler
-org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl.ThrowJobExceptionHandler
+org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl.LogJobErrorHandler
+org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl.IgnoreJobErrorHandler
+org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl.ThrowJobErrorHandler
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/config/JobCoreConfigurationTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/config/JobCoreConfigurationTest.java
index 192376f..0d93f25 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/config/JobCoreConfigurationTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/config/JobCoreConfigurationTest.java
@@ -29,7 +29,7 @@ public final class JobCoreConfigurationTest {
     @Test
     public void assertBuildAllProperties() {
         JobCoreConfiguration actual = JobCoreConfiguration.newBuilder("test_job", "0/1 * * * * ?", 3)
-                .shardingItemParameters("0=a,1=b,2=c").jobParameter("param").failover(true).misfire(false).jobExceptionHandlerType("IGNORE").description("desc").build();
+                .shardingItemParameters("0=a,1=b,2=c").jobParameter("param").failover(true).misfire(false).jobErrorHandlerType("IGNORE").description("desc").build();
         assertRequiredProperties(actual);
         assertThat(actual.getShardingItemParameters(), is("0=a,1=b,2=c"));
         assertThat(actual.getJobParameter(), is("param"));
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/LogJobExceptionHandlerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/LogJobErrorHandlerTest.java
similarity index 90%
rename from elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/LogJobExceptionHandlerTest.java
rename to elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/LogJobErrorHandlerTest.java
index 59eb5ba..9d73f09 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/LogJobExceptionHandlerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/LogJobErrorHandlerTest.java
@@ -27,14 +27,14 @@ import static org.mockito.Mockito.atMost;
 import static org.mockito.Mockito.verify;
 
 @RunWith(MockitoJUnitRunner.class)
-public final class LogJobExceptionHandlerTest {
+public final class LogJobErrorHandlerTest {
     
     @Mock
     private JobEventCaller caller;
     
     @Test
     public void assertHandleException() {
-        new LogJobExceptionHandler().handleException("test_job", new RuntimeException("test"));
+        new LogJobErrorHandler().handleException("test_job", new RuntimeException("test"));
         verify(caller, atMost(1)).call();
     }
 }
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/type/SimpleJobExecutorTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/type/SimpleJobExecutorTest.java
index c77e439..a04c42d 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/type/SimpleJobExecutorTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/type/SimpleJobExecutorTest.java
@@ -24,7 +24,7 @@ import org.apache.shardingsphere.elasticjob.lite.executor.ElasticJobExecutor;
 import org.apache.shardingsphere.elasticjob.lite.executor.JobFacade;
 import org.apache.shardingsphere.elasticjob.lite.executor.ShardingContexts;
 import org.apache.shardingsphere.elasticjob.lite.executor.handler.threadpool.impl.CPUUsageJobExecutorServiceHandler;
-import org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl.LogJobExceptionHandler;
+import org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl.LogJobErrorHandler;
 import org.apache.shardingsphere.elasticjob.lite.fixture.ShardingContextsBuilder;
 import org.apache.shardingsphere.elasticjob.lite.fixture.config.TestSimpleJobConfiguration;
 import org.apache.shardingsphere.elasticjob.lite.fixture.job.JobCaller;
@@ -68,7 +68,7 @@ public final class SimpleJobExecutorTest {
         elasticJobExecutor = new ElasticJobExecutor(new TestSimpleJob(jobCaller), jobFacade, new SimpleJobExecutor());
         assertThat(ReflectionUtils.getFieldValue(elasticJobExecutor, ElasticJobExecutor.class.getDeclaredField("executorService")), 
                 instanceOf(new CPUUsageJobExecutorServiceHandler().createExecutorService("test_job").getClass()));
-        assertThat(ReflectionUtils.getFieldValue(elasticJobExecutor, ElasticJobExecutor.class.getDeclaredField("jobExceptionHandler")), instanceOf(LogJobExceptionHandler.class));
+        assertThat(ReflectionUtils.getFieldValue(elasticJobExecutor, ElasticJobExecutor.class.getDeclaredField("jobErrorHandler")), instanceOf(LogJobErrorHandler.class));
     }
     
     @Test(expected = JobSystemException.class)
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/APIJsonConstants.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/APIJsonConstants.java
index 605fe20..ad1dbb6 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/APIJsonConstants.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/APIJsonConstants.java
@@ -25,48 +25,48 @@ public final class APIJsonConstants {
     
     private static final String SIMPLE_JOB_JSON = "{\"jobName\":\"test_job\",\"jobType\":\"SIMPLE\","
             + "\"cron\":\"0/1 * * * * ?\",\"shardingTotalCount\":3,\"shardingItemParameters\":\"0\\u003dA,1\\u003dB,2\\u003dC\",\"jobParameter\":\"param\",\"failover\":true,\"misfire\":false,"
-            + "\"jobExceptionHandlerType\":\"%s\","
+            + "\"jobErrorHandlerType\":\"%s\","
             + "\"description\":\"desc\"}";
     
     private static final String DATAFLOW_JOB_JSON = "{\"jobName\":\"test_job\",\"jobType\":\"DATAFLOW\","
             + "\"cron\":\"0/1 * * * * ?\",\"shardingTotalCount\":3,\"shardingItemParameters\":\"\",\"jobParameter\":\"\",\"failover\":false,\"misfire\":true,"
-            + "\"jobExceptionHandlerType\":\"%s\","
+            + "\"jobErrorHandlerType\":\"%s\","
             + "\"description\":\"\",\"streamingProcess\":true}";
     
     private static final String SCRIPT_JOB_JSON = "{\"jobName\":\"test_job\",\"jobType\":\"SCRIPT\","
             + "\"cron\":\"0/1 * * * * ?\","
             + "\"shardingTotalCount\":3,\"shardingItemParameters\":\"\",\"jobParameter\":\"\",\"failover\":false,\"misfire\":true,"
-            + "\"jobExceptionHandlerType\":\"%s\","
+            + "\"jobErrorHandlerType\":\"%s\","
             + "\"description\":\"\","
             + "\"scriptCommandLine\":\"test.sh\"}";
     
     /**
      * Get configuration of simple job in json format.
      *
-     * @param jobExceptionHandlerType the canonical name of the job exception handler
+     * @param jobErrorHandlerType job error handler type
      * @return configuration of simple job in json format
      */
-    public static String getSimpleJobJson(final String jobExceptionHandlerType) {
-        return String.format(SIMPLE_JOB_JSON, jobExceptionHandlerType);
+    public static String getSimpleJobJson(final String jobErrorHandlerType) {
+        return String.format(SIMPLE_JOB_JSON, jobErrorHandlerType);
     }
     
     /**
      * Get configuration of dataflow job in json format.
      *
-     * @param jobExceptionHandlerType the canonical name of the job exception handler
+     * @param jobErrorHandlerType job error handler type
      * @return configuration of dataflow job in json format
      */
-    public static String getDataflowJobJson(final String jobExceptionHandlerType) {
-        return String.format(DATAFLOW_JOB_JSON, jobExceptionHandlerType);
+    public static String getDataflowJobJson(final String jobErrorHandlerType) {
+        return String.format(DATAFLOW_JOB_JSON, jobErrorHandlerType);
     }
     
     /**
      * Get configuration of script job in json format.
      *
-     * @param jobExceptionHandlerType the canonical name of the job exception handler
+     * @param jobErrorHandlerType job error handler type
      * @return configuration of script job in json format
      */
-    public static String getScriptJobJson(final String jobExceptionHandlerType) {
-        return String.format(SCRIPT_JOB_JSON, jobExceptionHandlerType);
+    public static String getScriptJobJson(final String jobErrorHandlerType) {
+        return String.format(SCRIPT_JOB_JSON, jobErrorHandlerType);
     }
 }
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestDataflowJobConfiguration.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestDataflowJobConfiguration.java
index f3054b5..4b26174 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestDataflowJobConfiguration.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestDataflowJobConfiguration.java
@@ -31,6 +31,6 @@ public final class TestDataflowJobConfiguration implements JobRootConfiguration
     
     @Override
     public JobTypeConfiguration getTypeConfig() {
-        return new DataflowJobConfiguration(JobCoreConfiguration.newBuilder(ShardingContextsBuilder.JOB_NAME, "0/1 * * * * ?", 3).jobExceptionHandlerType("IGNORE").build(), streamingProcess);
+        return new DataflowJobConfiguration(JobCoreConfiguration.newBuilder(ShardingContextsBuilder.JOB_NAME, "0/1 * * * * ?", 3).jobErrorHandlerType("IGNORE").build(), streamingProcess);
     }
 }
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestScriptJobConfiguration.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestScriptJobConfiguration.java
index 19e4790..8f8c8ba 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestScriptJobConfiguration.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestScriptJobConfiguration.java
@@ -29,11 +29,11 @@ public final class TestScriptJobConfiguration implements JobRootConfiguration {
     
     private final String scriptCommandLine;
     
-    private final String jobExceptionHandlerType;
+    private final String jobErrorHandlerType;
     
     @Override
     public JobTypeConfiguration getTypeConfig() {
         return new ScriptJobConfiguration(
-                JobCoreConfiguration.newBuilder(ShardingContextsBuilder.JOB_NAME, "0/1 * * * * ?", 3).jobExceptionHandlerType(jobExceptionHandlerType).build(), scriptCommandLine);
+                JobCoreConfiguration.newBuilder(ShardingContextsBuilder.JOB_NAME, "0/1 * * * * ?", 3).jobErrorHandlerType(jobErrorHandlerType).build(), scriptCommandLine);
     }
 }
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestSimpleJobConfiguration.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestSimpleJobConfiguration.java
index 3fbfd59..0720612 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestSimpleJobConfiguration.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/fixture/config/TestSimpleJobConfiguration.java
@@ -32,14 +32,14 @@ public final class TestSimpleJobConfiguration implements JobRootConfiguration {
     
     private String jobExecutorServiceHandlerType;
     
-    private String jobExceptionHandlerType;
+    private String jobErrorHandlerType;
     
     @Override
     public JobTypeConfiguration getTypeConfig() {
         Builder builder = JobCoreConfiguration.newBuilder(ShardingContextsBuilder.JOB_NAME, "0/1 * * * * ?", 3)
                 .shardingItemParameters("0=A,1=B,2=C").jobParameter("param").failover(true).misfire(false).description("desc");
         builder.jobExecutorServiceHandlerType(jobExecutorServiceHandlerType);
-        builder.jobExceptionHandlerType(jobExceptionHandlerType);
+        builder.jobErrorHandlerType(jobErrorHandlerType);
         return new SimpleJobConfiguration(builder.build());
     }
 }
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/integrate/AbstractBaseStdJobTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/integrate/AbstractBaseStdJobTest.java
index 52a303e..a6d7fb9 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/integrate/AbstractBaseStdJobTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/integrate/AbstractBaseStdJobTest.java
@@ -116,7 +116,7 @@ public abstract class AbstractBaseStdJobTest {
         String cron = "0/1 * * * * ?";
         int totalShardingCount = 3;
         String shardingParameters = "0=A,1=B,2=C";
-        JobCoreConfiguration jobCoreConfig = JobCoreConfiguration.newBuilder(jobName, cron, totalShardingCount).shardingItemParameters(shardingParameters).jobExceptionHandlerType("IGNORE").build();
+        JobCoreConfiguration jobCoreConfig = JobCoreConfiguration.newBuilder(jobName, cron, totalShardingCount).shardingItemParameters(shardingParameters).jobErrorHandlerType("IGNORE").build();
         JobTypeConfiguration jobTypeConfig;
         if (DataflowJob.class.isAssignableFrom(elasticJobClass)) {
             jobTypeConfig = new DataflowJobConfiguration(jobCoreConfig, false);
diff --git a/elastic-job-lite-core/src/test/resources/logback-test.xml b/elastic-job-lite-core/src/test/resources/logback-test.xml
index 6f59d42..93357e7 100644
--- a/elastic-job-lite-core/src/test/resources/logback-test.xml
+++ b/elastic-job-lite-core/src/test/resources/logback-test.xml
@@ -39,6 +39,6 @@
     <logger name="org.apache.curator.framework.recipes.leader.LeaderSelector" level="OFF" />
     <logger name="org.apache.shardingsphere.elasticjob.lite.event.rdb.JobEventRdbConfiguration" level="OFF" />
     <logger name="org.apache.shardingsphere.elasticjob.lite.event.JobEventBus" level="OFF" />
-    <logger name="org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl.LogJobExceptionHandler" level="OFF" />
+    <logger name="org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl.LogJobErrorHandler" level="OFF" />
     <logger name="org.apache.shardingsphere.elasticjob.lite.internal.monitor.MonitorService" level="OFF" />
 </configuration>
diff --git a/elastic-job-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/domain/JobSettings.java b/elastic-job-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/domain/JobSettings.java
index f6b189d..80c4bda 100644
--- a/elastic-job-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/domain/JobSettings.java
+++ b/elastic-job-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/domain/JobSettings.java
@@ -57,7 +57,7 @@ public final class JobSettings implements Serializable {
     
     private String jobShardingStrategyType;
     
-    private String jobExceptionHandlerType;
+    private String jobErrorHandlerType;
     
     private String jobExecutorServiceHandlerType;
     
diff --git a/elastic-job-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/settings/JobSettingsAPIImpl.java b/elastic-job-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/settings/JobSettingsAPIImpl.java
index ee6fd02..455c251 100644
--- a/elastic-job-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/settings/JobSettingsAPIImpl.java
+++ b/elastic-job-lite-lifecycle/src/main/java/org/apache/shardingsphere/elasticjob/lite/lifecycle/internal/settings/JobSettingsAPIImpl.java
@@ -68,7 +68,7 @@ public final class JobSettingsAPIImpl implements JobSettingsAPI {
         result.setMisfire(liteJobConfig.getTypeConfig().getCoreConfig().isMisfire());
         result.setJobShardingStrategyType(liteJobConfig.getJobShardingStrategyType());
         result.setJobExecutorServiceHandlerType(liteJobConfig.getTypeConfig().getCoreConfig().getJobExecutorServiceHandlerType());
-        result.setJobExceptionHandlerType(liteJobConfig.getTypeConfig().getCoreConfig().getJobExceptionHandlerType());
+        result.setJobErrorHandlerType(liteJobConfig.getTypeConfig().getCoreConfig().getJobErrorHandlerType());
         result.setReconcileIntervalMinutes(liteJobConfig.getReconcileIntervalMinutes());
         result.setDescription(liteJobConfig.getTypeConfig().getCoreConfig().getDescription());
     }
diff --git a/elastic-job-lite-spring/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/job/parser/common/AbstractJobBeanDefinitionParser.java b/elastic-job-lite-spring/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/job/parser/common/AbstractJobBeanDefinitionParser.java
index 6001e84..14fca0c 100644
--- a/elastic-job-lite-spring/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/job/parser/common/AbstractJobBeanDefinitionParser.java
+++ b/elastic-job-lite-spring/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/job/parser/common/AbstractJobBeanDefinitionParser.java
@@ -84,7 +84,7 @@ public abstract class AbstractJobBeanDefinitionParser extends AbstractBeanDefini
         jobCoreBeanDefinitionBuilder.addConstructorArgValue(element.getAttribute(BaseJobBeanDefinitionParserTag.FAILOVER_ATTRIBUTE));
         jobCoreBeanDefinitionBuilder.addConstructorArgValue(element.getAttribute(BaseJobBeanDefinitionParserTag.MISFIRE_ATTRIBUTE));
         jobCoreBeanDefinitionBuilder.addConstructorArgValue(element.getAttribute(BaseJobBeanDefinitionParserTag.JOB_EXECUTOR_SERVICE_HANDLER_ATTRIBUTE));
-        jobCoreBeanDefinitionBuilder.addConstructorArgValue(element.getAttribute(BaseJobBeanDefinitionParserTag.JOB_EXCEPTION_HANDLER_ATTRIBUTE));
+        jobCoreBeanDefinitionBuilder.addConstructorArgValue(element.getAttribute(BaseJobBeanDefinitionParserTag.JOB_ERROR_HANDLER_ATTRIBUTE));
         jobCoreBeanDefinitionBuilder.addConstructorArgValue(element.getAttribute(BaseJobBeanDefinitionParserTag.DESCRIPTION_ATTRIBUTE));
         return jobCoreBeanDefinitionBuilder.getBeanDefinition();
     }
diff --git a/elastic-job-lite-spring/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/job/parser/common/BaseJobBeanDefinitionParserTag.java b/elastic-job-lite-spring/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/job/parser/common/BaseJobBeanDefinitionParserTag.java
index 78a1475..da6d507 100644
--- a/elastic-job-lite-spring/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/job/parser/common/BaseJobBeanDefinitionParserTag.java
+++ b/elastic-job-lite-spring/src/main/java/org/apache/shardingsphere/elasticjob/lite/spring/job/parser/common/BaseJobBeanDefinitionParserTag.java
@@ -68,7 +68,7 @@ public final class BaseJobBeanDefinitionParserTag {
     
     public static final String JOB_EXECUTOR_SERVICE_HANDLER_ATTRIBUTE = "job-executor-service-handler";
     
-    public static final String JOB_EXCEPTION_HANDLER_ATTRIBUTE = "job-exception-handler";
+    public static final String JOB_ERROR_HANDLER_ATTRIBUTE = "job-error-handler";
     
     public static final String EVENT_TRACE_RDB_DATA_SOURCE_ATTRIBUTE = "event-trace-rdb-data-source";
     
diff --git a/elastic-job-lite-spring/src/main/resources/META-INF/namespace/job.xsd b/elastic-job-lite-spring/src/main/resources/META-INF/namespace/job.xsd
index edd3a5a..d787ce3 100644
--- a/elastic-job-lite-spring/src/main/resources/META-INF/namespace/job.xsd
+++ b/elastic-job-lite-spring/src/main/resources/META-INF/namespace/job.xsd
@@ -56,11 +56,11 @@
                 <xsd:attribute name="reconcile-interval-minutes" type="xsd:string" default="10"/>
                 <xsd:attribute name="misfire" type="xsd:string" default="true"/>
                 <xsd:attribute name="job-sharding-strategy-type" type="xsd:string" />
+                <xsd:attribute name="job-executor-service-handler" type="xsd:string" />
+                <xsd:attribute name="job-error-handler" type="xsd:string" />
                 <xsd:attribute name="description" type="xsd:string" />
                 <xsd:attribute name="disabled" type="xsd:string" default="false"/>
                 <xsd:attribute name="overwrite" type="xsd:string" default="false"/>
-                <xsd:attribute name="job-executor-service-handler" type="xsd:string" />
-                <xsd:attribute name="job-exception-handler" type="xsd:string" />
                 <xsd:attribute name="event-trace-rdb-data-source" type="xsd:string" />
             </xsd:extension>
         </xsd:complexContent>
diff --git a/elastic-job-lite-spring/src/test/java/org/apache/shardingsphere/elasticjob/lite/spring/fixture/handler/SimpleJobExceptionHandler.java b/elastic-job-lite-spring/src/test/java/org/apache/shardingsphere/elasticjob/lite/spring/fixture/handler/SimpleJobExceptionHandler.java
deleted file mode 100644
index 5f43af6..0000000
--- a/elastic-job-lite-spring/src/test/java/org/apache/shardingsphere/elasticjob/lite/spring/fixture/handler/SimpleJobExceptionHandler.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-
-package org.apache.shardingsphere.elasticjob.lite.spring.fixture.handler;
-
-import org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobExceptionHandler;
-
-public class SimpleJobExceptionHandler implements JobExceptionHandler {
-    
-    @Override
-    public void handleException(final String jobName, final Throwable cause) {
-        throw new RuntimeException(cause);
-    }
-    
-    @Override
-    public String getType() {
-        return "SIMPLE";
-    }
-}
diff --git a/elastic-job-lite-spring/src/test/resources/META-INF/job/withEventTraceRdb.xml b/elastic-job-lite-spring/src/test/resources/META-INF/job/withEventTraceRdb.xml
index 9d2690f..ea15e86 100644
--- a/elastic-job-lite-spring/src/test/resources/META-INF/job/withEventTraceRdb.xml
+++ b/elastic-job-lite-spring/src/test/resources/META-INF/job/withEventTraceRdb.xml
@@ -33,5 +33,5 @@
                 cron="${simpleJob.cron}" sharding-total-count="${simpleJob.shardingTotalCount}" sharding-item-parameters="${simpleJob.shardingItemParameters}" disabled="${simpleJob.disabled}" 
                 overwrite="${simpleJob.overwrite}" job-executor-service-handler="SINGLE_THREAD" event-trace-rdb-data-source="elasticJobLog" />
     <job:dataflow id="dataflowElasticJob_namespace_event_trace_rdb" job-ref="dataflowJob" registry-center-ref="regCenter" 
-                  cron="0/1 * * * * ?" sharding-total-count="3" sharding-item-parameters="0=A,1=B,2=C" description="中文描述" overwrite="true" job-exception-handler="THROW" />
+                  cron="0/1 * * * * ?" sharding-total-count="3" sharding-item-parameters="0=A,1=B,2=C" job-error-handler="THROW" description="中文描述" overwrite="true" />
 </beans>
diff --git a/elastic-job-lite-spring/src/test/resources/META-INF/job/withJobHandler.xml b/elastic-job-lite-spring/src/test/resources/META-INF/job/withJobHandler.xml
index f8a81bf..6fcf6de 100644
--- a/elastic-job-lite-spring/src/test/resources/META-INF/job/withJobHandler.xml
+++ b/elastic-job-lite-spring/src/test/resources/META-INF/job/withJobHandler.xml
@@ -32,6 +32,6 @@
     <job:simple id="simpleElasticJob_namespace_job_handler" job-ref="fooJob" 
                 registry-center-ref="regCenter" cron="${simpleJob.cron}" sharding-total-count="${simpleJob.shardingTotalCount}" sharding-item-parameters="${simpleJob.shardingItemParameters}" 
                 disabled="${simpleJob.disabled}" overwrite="${simpleJob.overwrite}" job-executor-service-handler="SINGLE_THREAD" />
-    <job:dataflow id="dataflowElasticJob_namespace_job_handler" job-ref="dataflowJob" registry-center-ref="regCenter" cron="0/1 * * * * ?" sharding-total-count="3" sharding-item-parameters="0=A,1=B,2=C" 
-                  description="中文描述" overwrite="true" job-exception-handler="THROW" />
+    <job:dataflow id="dataflowElasticJob_namespace_job_handler" job-ref="dataflowJob" registry-center-ref="regCenter" cron="0/1 * * * * ?" sharding-total-count="3" sharding-item-parameters="0=A,1=B,2=C"
+                  job-error-handler="THROW" description="中文描述" overwrite="true" />
 </beans>