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 06:15:33 UTC

[shardingsphere-elasticjob-lite] branch master updated: Move strategy package into handler and rename to sharding (#813)

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 e952a79   Move strategy package into handler and rename to sharding (#813)
e952a79 is described below

commit e952a793558e68176aad58915f9c25927bec17c9
Author: Liang Zhang <te...@163.com>
AuthorDate: Mon Jun 22 14:15:26 2020 +0800

     Move strategy package into handler and rename to sharding (#813)
    
    * refactor JobShardingStrategyFactoryTest
    
    * Move handler package
    
    * Move strategy package
---
 .../shardingsphere/elasticjob/lite/api/JobScheduler.java   |  2 +-
 .../elasticjob/lite/config/LiteJobConfiguration.java       |  6 +++---
 .../elasticjob/lite/executor/ElasticJobExecutor.java       |  6 +++---
 .../lite/{executor => }/handler/error/JobErrorHandler.java |  2 +-
 .../handler/error/JobErrorHandlerFactory.java              |  2 +-
 .../handler/error/impl/IgnoreJobErrorHandler.java          |  4 ++--
 .../handler/error/impl/LogJobErrorHandler.java             |  4 ++--
 .../handler/error/impl/ThrowJobErrorHandler.java           |  4 ++--
 .../{api/strategy => handler/sharding}/JobInstance.java    |  4 ++--
 .../strategy => handler/sharding}/JobShardingStrategy.java |  6 +++---
 .../sharding}/JobShardingStrategyFactory.java              | 14 +++++++-------
 .../impl/AverageAllocationJobShardingStrategy.java         | 10 +++++-----
 .../impl/OdevitySortByNameJobShardingStrategy.java         | 10 +++++-----
 .../impl/RoundRobinByNameJobShardingStrategy.java          | 10 +++++-----
 .../handler/threadpool/JobExecutorServiceHandler.java      |  2 +-
 .../threadpool/JobExecutorServiceHandlerFactory.java       |  2 +-
 .../threadpool/impl/CPUUsageJobExecutorServiceHandler.java |  4 ++--
 .../impl/SingleThreadJobExecutorServiceHandler.java        |  4 ++--
 .../elasticjob/lite/internal/instance/InstanceService.java |  2 +-
 .../elasticjob/lite/internal/schedule/JobRegistry.java     |  2 +-
 .../lite/internal/sharding/ExecutionContextService.java    |  2 +-
 .../elasticjob/lite/internal/sharding/ShardingService.java |  6 +++---
 ...ngsphere.elasticjob.lite.handler.error.JobErrorHandler} |  6 +++---
 ...e.elasticjob.lite.handler.sharding.JobShardingStrategy} |  6 +++---
 ...cjob.lite.handler.threadpool.JobExecutorServiceHandler} |  4 ++--
 .../elasticjob/lite/api/JobSchedulerTest.java              |  2 +-
 .../lite/executor/type/SimpleJobExecutorTest.java          |  4 ++--
 .../handler/error/JobErrorHandlerFactoryTest.java          |  6 +++---
 .../handler/error/impl/IgnoreJobErrorHandlerTest.java      |  2 +-
 .../handler/error/impl/LogJobErrorHandlerTest.java         |  2 +-
 .../handler/error/impl/ThrowJobErrorHandlerTest.java       |  2 +-
 .../strategy => handler/sharding}/JobInstanceTest.java     |  4 ++--
 .../sharding}/JobShardingStrategyFactoryTest.java          | 14 +++++++-------
 .../impl/AverageAllocationJobShardingStrategyTest.java     |  8 ++++----
 .../impl/OdevitySortByNameJobShardingStrategyTest.java     |  6 +++---
 .../impl/RotateServerByNameJobShardingStrategyTest.java    |  6 +++---
 .../threadpool/JobExecutorServiceHandlerFactoryTest.java   |  6 +++---
 .../internal/config/RescheduleListenerManagerTest.java     |  2 +-
 .../internal/election/ElectionListenerManagerTest.java     |  2 +-
 .../lite/internal/election/LeaderServiceTest.java          |  2 +-
 .../internal/failover/FailoverListenerManagerTest.java     |  2 +-
 .../lite/internal/failover/FailoverServiceTest.java        |  2 +-
 .../lite/internal/instance/InstanceNodeTest.java           |  2 +-
 .../lite/internal/instance/InstanceServiceTest.java        |  2 +-
 .../internal/instance/ShutdownListenerManagerTest.java     |  2 +-
 .../lite/internal/instance/TriggerListenerManagerTest.java |  2 +-
 .../RegistryCenterConnectionStateListenerTest.java         |  2 +-
 .../lite/internal/reconcile/ReconcileServiceTest.java      |  2 +-
 .../elasticjob/lite/internal/schedule/JobRegistryTest.java |  2 +-
 .../lite/internal/schedule/SchedulerFacadeTest.java        |  2 +-
 .../elasticjob/lite/internal/server/ServerNodeTest.java    |  2 +-
 .../elasticjob/lite/internal/server/ServerServiceTest.java |  2 +-
 .../internal/sharding/ExecutionContextServiceTest.java     |  2 +-
 .../internal/sharding/ShardingListenerManagerTest.java     |  2 +-
 .../lite/internal/sharding/ShardingServiceTest.java        |  2 +-
 elastic-job-lite-core/src/test/resources/logback-test.xml  |  2 +-
 56 files changed, 112 insertions(+), 112 deletions(-)

diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/JobScheduler.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/JobScheduler.java
index 6d5562d..2b7017a 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/JobScheduler.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/JobScheduler.java
@@ -21,7 +21,7 @@ import lombok.Getter;
 import org.apache.shardingsphere.elasticjob.lite.api.listener.AbstractDistributeOnceElasticJobListener;
 import org.apache.shardingsphere.elasticjob.lite.api.listener.ElasticJobListener;
 import org.apache.shardingsphere.elasticjob.lite.api.script.ScriptJob;
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.config.LiteJobConfiguration;
 import org.apache.shardingsphere.elasticjob.lite.event.JobEventBus;
 import org.apache.shardingsphere.elasticjob.lite.event.JobEventConfiguration;
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/LiteJobConfiguration.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/LiteJobConfiguration.java
index b07059e..051be0a 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/LiteJobConfiguration.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/config/LiteJobConfiguration.java
@@ -141,13 +141,13 @@ public final class LiteJobConfiguration implements JobRootConfiguration {
         }
         
         /**
-         * Set job sharding strategy type.
+         * Set job sharding sharding type.
          *
          * <p>
-         * Default for {@code org.apache.shardingsphere.elasticjob.lite.api.strategy.impl.AverageAllocationJobShardingStrategy}.
+         * Default for {@code AverageAllocationJobShardingStrategy}.
          * </p>
          *
-         * @param jobShardingStrategyType job sharding strategy type
+         * @param jobShardingStrategyType job sharding sharding type
          *
          * @return ElasticJob lite configuration builder
          */
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 fa08b39..94dfc0c 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,9 +26,9 @@ 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.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.handler.error.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.lite.handler.error.JobErrorHandlerFactory;
+import org.apache.shardingsphere.elasticjob.lite.handler.threadpool.JobExecutorServiceHandlerFactory;
 import org.apache.shardingsphere.elasticjob.lite.executor.type.JobItemExecutor;
 
 import java.util.Collection;
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobErrorHandler.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/error/JobErrorHandler.java
similarity index 93%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobErrorHandler.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/error/JobErrorHandler.java
index 1c236a1..0c3184c 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobErrorHandler.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/error/JobErrorHandler.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.executor.handler.error;
+package org.apache.shardingsphere.elasticjob.lite.handler.error;
 
 import org.apache.shardingsphere.elasticjob.lite.spi.TypedSPI;
 
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobErrorHandlerFactory.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/error/JobErrorHandlerFactory.java
similarity index 96%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobErrorHandlerFactory.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/error/JobErrorHandlerFactory.java
index a9985c7..30113f0 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobErrorHandlerFactory.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/error/JobErrorHandlerFactory.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.executor.handler.error;
+package org.apache.shardingsphere.elasticjob.lite.handler.error;
 
 import com.google.common.base.Strings;
 import lombok.AccessLevel;
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/IgnoreJobErrorHandler.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/error/impl/IgnoreJobErrorHandler.java
similarity index 86%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/IgnoreJobErrorHandler.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/error/impl/IgnoreJobErrorHandler.java
index 7bd9389..024c410 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/IgnoreJobErrorHandler.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/error/impl/IgnoreJobErrorHandler.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl;
+package org.apache.shardingsphere.elasticjob.lite.handler.error.impl;
 
-import org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.lite.handler.error.JobErrorHandler;
 
 /**
  * Job error handler for ignore exception.
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/LogJobErrorHandler.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/error/impl/LogJobErrorHandler.java
similarity index 88%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/LogJobErrorHandler.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/error/impl/LogJobErrorHandler.java
index 57ec71d..c0af1e8 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/LogJobErrorHandler.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/error/impl/LogJobErrorHandler.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl;
+package org.apache.shardingsphere.elasticjob.lite.handler.error.impl;
 
-import org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.lite.handler.error.JobErrorHandler;
 import lombok.extern.slf4j.Slf4j;
 
 /**
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/ThrowJobErrorHandler.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/error/impl/ThrowJobErrorHandler.java
similarity index 88%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/ThrowJobErrorHandler.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/error/impl/ThrowJobErrorHandler.java
index 1dff96b..e8f9f1d 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/ThrowJobErrorHandler.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/error/impl/ThrowJobErrorHandler.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl;
+package org.apache.shardingsphere.elasticjob.lite.handler.error.impl;
 
 import org.apache.shardingsphere.elasticjob.lite.exception.JobSystemException;
-import org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.lite.handler.error.JobErrorHandler;
 
 /**
  * Job error handler for throw exception.
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/JobInstance.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/JobInstance.java
similarity index 95%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/JobInstance.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/JobInstance.java
index 5dbee4f..75bbac2 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/JobInstance.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/JobInstance.java
@@ -7,7 +7,7 @@
  * 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.
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.api.strategy;
+package org.apache.shardingsphere.elasticjob.lite.handler.sharding;
 
 import lombok.EqualsAndHashCode;
 import lombok.Getter;
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/JobShardingStrategy.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/JobShardingStrategy.java
similarity index 93%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/JobShardingStrategy.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/JobShardingStrategy.java
index 4059aaa..85bd76e 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/JobShardingStrategy.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/JobShardingStrategy.java
@@ -7,7 +7,7 @@
  * 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.
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.api.strategy;
+package org.apache.shardingsphere.elasticjob.lite.handler.sharding;
 
 import org.apache.shardingsphere.elasticjob.lite.spi.TypedSPI;
 
@@ -23,7 +23,7 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * Job sharding strategy.
+ * Job sharding sharding.
  */
 public interface JobShardingStrategy extends TypedSPI {
     
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/JobShardingStrategyFactory.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/JobShardingStrategyFactory.java
similarity index 87%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/JobShardingStrategyFactory.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/JobShardingStrategyFactory.java
index a13ff24..7df4858 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/JobShardingStrategyFactory.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/JobShardingStrategyFactory.java
@@ -7,7 +7,7 @@
  * 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.
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.api.strategy;
+package org.apache.shardingsphere.elasticjob.lite.handler.sharding;
 
 import com.google.common.base.Strings;
 import lombok.AccessLevel;
@@ -27,7 +27,7 @@ import java.util.Map;
 import java.util.ServiceLoader;
 
 /**
- * Job sharding strategy factory.
+ * Job sharding sharding factory.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class JobShardingStrategyFactory {
@@ -43,17 +43,17 @@ public final class JobShardingStrategyFactory {
     }
     
     /**
-     * Get job sharding strategy.
+     * Get job sharding sharding.
      * 
-     * @param type job sharding strategy type
-     * @return job sharding strategy
+     * @param type job sharding sharding type
+     * @return job sharding sharding
      */
     public static JobShardingStrategy getStrategy(final String type) {
         if (Strings.isNullOrEmpty(type)) {
             return STRATEGIES.get(DEFAULT_STRATEGY);
         }
         if (!STRATEGIES.containsKey(type)) {
-            throw new JobConfigurationException("Can not find sharding strategy type '%s'.", type);
+            throw new JobConfigurationException("Can not find sharding sharding type '%s'.", type);
         }
         return STRATEGIES.get(type);
     }
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/impl/AverageAllocationJobShardingStrategy.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/impl/AverageAllocationJobShardingStrategy.java
similarity index 92%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/impl/AverageAllocationJobShardingStrategy.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/impl/AverageAllocationJobShardingStrategy.java
index aa2e3a7..28e525f 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/impl/AverageAllocationJobShardingStrategy.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/impl/AverageAllocationJobShardingStrategy.java
@@ -7,7 +7,7 @@
  * 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.
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.api.strategy.impl;
+package org.apache.shardingsphere.elasticjob.lite.handler.sharding.impl;
 
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobShardingStrategy;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobShardingStrategy;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -27,7 +27,7 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * Sharding strategy which for average by sharding item.
+ * Sharding sharding which for average by sharding item.
  * 
  * <p>
  * If the job server number and sharding count cannot be divided, 
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/impl/OdevitySortByNameJobShardingStrategy.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/impl/OdevitySortByNameJobShardingStrategy.java
similarity index 87%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/impl/OdevitySortByNameJobShardingStrategy.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/impl/OdevitySortByNameJobShardingStrategy.java
index f4e24a2..fa55ecd 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/impl/OdevitySortByNameJobShardingStrategy.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/impl/OdevitySortByNameJobShardingStrategy.java
@@ -7,7 +7,7 @@
  * 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.
@@ -15,17 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.api.strategy.impl;
+package org.apache.shardingsphere.elasticjob.lite.handler.sharding.impl;
 
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobShardingStrategy;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobShardingStrategy;
 
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
 /**
- * Sharding strategy which for hash with job name to determine IP asc or desc.
+ * Sharding sharding which for hash with job name to determine IP asc or desc.
  * 
  * <p>
  * IP address asc if job name' hashcode is odd;
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/impl/RoundRobinByNameJobShardingStrategy.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/impl/RoundRobinByNameJobShardingStrategy.java
similarity index 87%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/impl/RoundRobinByNameJobShardingStrategy.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/impl/RoundRobinByNameJobShardingStrategy.java
index 1fc61ab..de3f87d 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/impl/RoundRobinByNameJobShardingStrategy.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/impl/RoundRobinByNameJobShardingStrategy.java
@@ -7,7 +7,7 @@
  * 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.
@@ -15,17 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.api.strategy.impl;
+package org.apache.shardingsphere.elasticjob.lite.handler.sharding.impl;
 
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobShardingStrategy;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobShardingStrategy;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
 /**
- * Sharding strategy which for round robin by name job.
+ * Sharding sharding which for round robin by name job.
  */
 public final class RoundRobinByNameJobShardingStrategy implements JobShardingStrategy {
     
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/threadpool/JobExecutorServiceHandler.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/JobExecutorServiceHandler.java
similarity index 93%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/threadpool/JobExecutorServiceHandler.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/JobExecutorServiceHandler.java
index cb1924a..03fb59f 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/threadpool/JobExecutorServiceHandler.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/JobExecutorServiceHandler.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.executor.handler.threadpool;
+package org.apache.shardingsphere.elasticjob.lite.handler.threadpool;
 
 import org.apache.shardingsphere.elasticjob.lite.spi.TypedSPI;
 
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/threadpool/JobExecutorServiceHandlerFactory.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/JobExecutorServiceHandlerFactory.java
similarity index 96%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/threadpool/JobExecutorServiceHandlerFactory.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/JobExecutorServiceHandlerFactory.java
index b857b6f..4ba5e9a 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/threadpool/JobExecutorServiceHandlerFactory.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/JobExecutorServiceHandlerFactory.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.executor.handler.threadpool;
+package org.apache.shardingsphere.elasticjob.lite.handler.threadpool;
 
 import com.google.common.base.Strings;
 import lombok.AccessLevel;
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/threadpool/impl/CPUUsageJobExecutorServiceHandler.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/CPUUsageJobExecutorServiceHandler.java
similarity index 88%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/threadpool/impl/CPUUsageJobExecutorServiceHandler.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/CPUUsageJobExecutorServiceHandler.java
index f02f2af..f175a88 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/threadpool/impl/CPUUsageJobExecutorServiceHandler.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/CPUUsageJobExecutorServiceHandler.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.executor.handler.threadpool.impl;
+package org.apache.shardingsphere.elasticjob.lite.handler.threadpool.impl;
 
-import org.apache.shardingsphere.elasticjob.lite.executor.handler.threadpool.JobExecutorServiceHandler;
+import org.apache.shardingsphere.elasticjob.lite.handler.threadpool.JobExecutorServiceHandler;
 import org.apache.shardingsphere.elasticjob.lite.util.concurrent.ElasticJobExecutorService;
 
 import java.util.concurrent.ExecutorService;
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/threadpool/impl/SingleThreadJobExecutorServiceHandler.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/SingleThreadJobExecutorServiceHandler.java
similarity index 87%
rename from elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/threadpool/impl/SingleThreadJobExecutorServiceHandler.java
rename to elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/SingleThreadJobExecutorServiceHandler.java
index 9eb0e74..50a8f45 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/threadpool/impl/SingleThreadJobExecutorServiceHandler.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/impl/SingleThreadJobExecutorServiceHandler.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.executor.handler.threadpool.impl;
+package org.apache.shardingsphere.elasticjob.lite.handler.threadpool.impl;
 
-import org.apache.shardingsphere.elasticjob.lite.executor.handler.threadpool.JobExecutorServiceHandler;
+import org.apache.shardingsphere.elasticjob.lite.handler.threadpool.JobExecutorServiceHandler;
 
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/InstanceService.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/InstanceService.java
index 573f983..8f4b8d0 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/InstanceService.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/InstanceService.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.lite.internal.instance;
 
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.internal.server.ServerService;
 import org.apache.shardingsphere.elasticjob.lite.internal.storage.JobNodeStorage;
 import org.apache.shardingsphere.elasticjob.lite.reg.base.CoordinatorRegistryCenter;
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/JobRegistry.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/JobRegistry.java
index 8cfe794..97e5ccb 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/JobRegistry.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/JobRegistry.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.elasticjob.lite.internal.schedule;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.reg.base.CoordinatorRegistryCenter;
 
 import java.util.Map;
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ExecutionContextService.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ExecutionContextService.java
index 1cb3784..eb2bf6c 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ExecutionContextService.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ExecutionContextService.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.lite.internal.sharding;
 
 import com.google.common.base.Joiner;
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.config.LiteJobConfiguration;
 import org.apache.shardingsphere.elasticjob.lite.executor.ShardingContexts;
 import org.apache.shardingsphere.elasticjob.lite.internal.config.ConfigurationService;
diff --git a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingService.java b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingService.java
index ede6bbc..edb0203 100644
--- a/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingService.java
+++ b/elastic-job-lite-core/src/main/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingService.java
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.elasticjob.lite.internal.sharding;
 
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobShardingStrategy;
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobShardingStrategyFactory;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobShardingStrategy;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobShardingStrategyFactory;
 import org.apache.shardingsphere.elasticjob.lite.config.LiteJobConfiguration;
 import org.apache.shardingsphere.elasticjob.lite.internal.config.ConfigurationService;
 import org.apache.shardingsphere.elasticjob.lite.internal.election.LeaderService;
diff --git a/elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobErrorHandler b/elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.handler.error.JobErrorHandler
similarity index 74%
rename from elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobErrorHandler
rename to elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.handler.error.JobErrorHandler
index c68ec07..6bcacde 100644
--- a/elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.executor.handler.error.JobErrorHandler
+++ b/elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.handler.error.JobErrorHandler
@@ -15,6 +15,6 @@
 # limitations under the License.
 #
 
-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
+org.apache.shardingsphere.elasticjob.lite.handler.error.impl.LogJobErrorHandler
+org.apache.shardingsphere.elasticjob.lite.handler.error.impl.IgnoreJobErrorHandler
+org.apache.shardingsphere.elasticjob.lite.handler.error.impl.ThrowJobErrorHandler
diff --git a/elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.api.strategy.JobShardingStrategy b/elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobShardingStrategy
similarity index 72%
rename from elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.api.strategy.JobShardingStrategy
rename to elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobShardingStrategy
index 0a45864..cbe6172 100644
--- a/elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.api.strategy.JobShardingStrategy
+++ b/elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobShardingStrategy
@@ -15,6 +15,6 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.elasticjob.lite.api.strategy.impl.AverageAllocationJobShardingStrategy
-org.apache.shardingsphere.elasticjob.lite.api.strategy.impl.OdevitySortByNameJobShardingStrategy
-org.apache.shardingsphere.elasticjob.lite.api.strategy.impl.RoundRobinByNameJobShardingStrategy
+org.apache.shardingsphere.elasticjob.lite.handler.sharding.impl.AverageAllocationJobShardingStrategy
+org.apache.shardingsphere.elasticjob.lite.handler.sharding.impl.OdevitySortByNameJobShardingStrategy
+org.apache.shardingsphere.elasticjob.lite.handler.sharding.impl.RoundRobinByNameJobShardingStrategy
diff --git a/elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.executor.handler.threadpool.JobExecutorServiceHandler b/elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.handler.threadpool.JobExecutorServiceHandler
similarity index 78%
rename from elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.executor.handler.threadpool.JobExecutorServiceHandler
rename to elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.handler.threadpool.JobExecutorServiceHandler
index 086aeae..d311019 100644
--- a/elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.executor.handler.threadpool.JobExecutorServiceHandler
+++ b/elastic-job-lite-core/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.lite.handler.threadpool.JobExecutorServiceHandler
@@ -15,5 +15,5 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.elasticjob.lite.executor.handler.threadpool.impl.CPUUsageJobExecutorServiceHandler
-org.apache.shardingsphere.elasticjob.lite.executor.handler.threadpool.impl.SingleThreadJobExecutorServiceHandler
+org.apache.shardingsphere.elasticjob.lite.handler.threadpool.impl.CPUUsageJobExecutorServiceHandler
+org.apache.shardingsphere.elasticjob.lite.handler.threadpool.impl.SingleThreadJobExecutorServiceHandler
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/JobSchedulerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/JobSchedulerTest.java
index b51f683..b9bdeb8 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/JobSchedulerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/JobSchedulerTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.lite.api;
 
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.config.JobCoreConfiguration;
 import org.apache.shardingsphere.elasticjob.lite.config.LiteJobConfiguration;
 import org.apache.shardingsphere.elasticjob.lite.config.simple.SimpleJobConfiguration;
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 a04c42d..9bbee50 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
@@ -23,8 +23,8 @@ import org.apache.shardingsphere.elasticjob.lite.exception.JobSystemException;
 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.LogJobErrorHandler;
+import org.apache.shardingsphere.elasticjob.lite.handler.threadpool.impl.CPUUsageJobExecutorServiceHandler;
+import org.apache.shardingsphere.elasticjob.lite.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;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobErrorHandlerFactoryTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/error/JobErrorHandlerFactoryTest.java
similarity index 85%
rename from elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobErrorHandlerFactoryTest.java
rename to elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/error/JobErrorHandlerFactoryTest.java
index 22f0f0e..1923c30 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/JobErrorHandlerFactoryTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/error/JobErrorHandlerFactoryTest.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.executor.handler.error;
+package org.apache.shardingsphere.elasticjob.lite.handler.error;
 
 import org.apache.shardingsphere.elasticjob.lite.exception.JobConfigurationException;
-import org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl.LogJobErrorHandler;
-import org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl.ThrowJobErrorHandler;
+import org.apache.shardingsphere.elasticjob.lite.handler.error.impl.LogJobErrorHandler;
+import org.apache.shardingsphere.elasticjob.lite.handler.error.impl.ThrowJobErrorHandler;
 import org.junit.Test;
 
 import static org.hamcrest.CoreMatchers.instanceOf;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/IgnoreJobErrorHandlerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/error/impl/IgnoreJobErrorHandlerTest.java
similarity index 92%
rename from elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/IgnoreJobErrorHandlerTest.java
rename to elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/error/impl/IgnoreJobErrorHandlerTest.java
index 16dc188..7a0279d 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/IgnoreJobErrorHandlerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/error/impl/IgnoreJobErrorHandlerTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl;
+package org.apache.shardingsphere.elasticjob.lite.handler.error.impl;
 
 import org.junit.Test;
 
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/LogJobErrorHandlerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/error/impl/LogJobErrorHandlerTest.java
similarity index 94%
rename from elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/LogJobErrorHandlerTest.java
rename to elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/error/impl/LogJobErrorHandlerTest.java
index 9d73f09..56890d2 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/LogJobErrorHandlerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/error/impl/LogJobErrorHandlerTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl;
+package org.apache.shardingsphere.elasticjob.lite.handler.error.impl;
 
 import org.apache.shardingsphere.elasticjob.lite.event.fixture.JobEventCaller;
 import org.junit.Test;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/ThrowJobErrorHandlerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/error/impl/ThrowJobErrorHandlerTest.java
similarity index 93%
rename from elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/ThrowJobErrorHandlerTest.java
rename to elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/error/impl/ThrowJobErrorHandlerTest.java
index 070a3dc..6e59343 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/error/impl/ThrowJobErrorHandlerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/error/impl/ThrowJobErrorHandlerTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.executor.handler.error.impl;
+package org.apache.shardingsphere.elasticjob.lite.handler.error.impl;
 
 import org.apache.shardingsphere.elasticjob.lite.exception.JobSystemException;
 import org.junit.Test;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/JobInstanceTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/JobInstanceTest.java
similarity index 94%
rename from elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/JobInstanceTest.java
rename to elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/JobInstanceTest.java
index a5f4369..49498e6 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/JobInstanceTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/JobInstanceTest.java
@@ -7,7 +7,7 @@
  * 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.
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.api.strategy;
+package org.apache.shardingsphere.elasticjob.lite.handler.sharding;
 
 import org.apache.shardingsphere.elasticjob.lite.util.env.IpUtils;
 import org.hamcrest.CoreMatchers;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/JobShardingStrategyFactoryTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/JobShardingStrategyFactoryTest.java
similarity index 77%
rename from elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/JobShardingStrategyFactoryTest.java
rename to elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/JobShardingStrategyFactoryTest.java
index 780ef7d..996ac73 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/JobShardingStrategyFactoryTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/JobShardingStrategyFactoryTest.java
@@ -7,7 +7,7 @@
  * 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.
@@ -15,17 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.api.strategy;
+package org.apache.shardingsphere.elasticjob.lite.handler.sharding;
 
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.impl.AverageAllocationJobShardingStrategy;
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.impl.OdevitySortByNameJobShardingStrategy;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.impl.AverageAllocationJobShardingStrategy;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.impl.OdevitySortByNameJobShardingStrategy;
 import org.apache.shardingsphere.elasticjob.lite.exception.JobConfigurationException;
 import org.junit.Test;
 
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.junit.Assert.assertThat;
 
-public class JobShardingStrategyFactoryTest {
+public final class JobShardingStrategyFactoryTest {
     
     @Test
     public void assertGetDefaultStrategy() {
@@ -33,12 +33,12 @@ public class JobShardingStrategyFactoryTest {
     }
     
     @Test(expected = JobConfigurationException.class)
-    public void assertGetStrategyFailureWhenTypeNotFound() {
+    public void assertGetInvalidStrategy() {
         JobShardingStrategyFactory.getStrategy("INVALID");
     }
     
     @Test
-    public void assertGetStrategySuccess() {
+    public void assertGetStrategy() {
         assertThat(JobShardingStrategyFactory.getStrategy("ODEVITY"), instanceOf(OdevitySortByNameJobShardingStrategy.class));
     }
 }
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/impl/AverageAllocationJobShardingStrategyTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/impl/AverageAllocationJobShardingStrategyTest.java
similarity index 94%
rename from elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/impl/AverageAllocationJobShardingStrategyTest.java
rename to elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/impl/AverageAllocationJobShardingStrategyTest.java
index affcf1e..f041ef5 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/impl/AverageAllocationJobShardingStrategyTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/impl/AverageAllocationJobShardingStrategyTest.java
@@ -7,7 +7,7 @@
  * 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.
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.api.strategy.impl;
+package org.apache.shardingsphere.elasticjob.lite.handler.sharding.impl;
 
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobShardingStrategy;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobShardingStrategy;
 import org.junit.Test;
 
 import java.util.Arrays;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/impl/OdevitySortByNameJobShardingStrategyTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/impl/OdevitySortByNameJobShardingStrategyTest.java
similarity index 93%
rename from elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/impl/OdevitySortByNameJobShardingStrategyTest.java
rename to elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/impl/OdevitySortByNameJobShardingStrategyTest.java
index 6a31c88..df17131 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/impl/OdevitySortByNameJobShardingStrategyTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/impl/OdevitySortByNameJobShardingStrategyTest.java
@@ -7,7 +7,7 @@
  * 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.
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.api.strategy.impl;
+package org.apache.shardingsphere.elasticjob.lite.handler.sharding.impl;
 
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.junit.Test;
 
 import java.util.Arrays;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/impl/RotateServerByNameJobShardingStrategyTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/impl/RotateServerByNameJobShardingStrategyTest.java
similarity index 94%
rename from elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/impl/RotateServerByNameJobShardingStrategyTest.java
rename to elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/impl/RotateServerByNameJobShardingStrategyTest.java
index abf8d5f..caf515f 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/api/strategy/impl/RotateServerByNameJobShardingStrategyTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/sharding/impl/RotateServerByNameJobShardingStrategyTest.java
@@ -7,7 +7,7 @@
  * 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.
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.api.strategy.impl;
+package org.apache.shardingsphere.elasticjob.lite.handler.sharding.impl;
 
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.junit.Test;
 
 import java.util.Arrays;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/threadpool/JobExecutorServiceHandlerFactoryTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/JobExecutorServiceHandlerFactoryTest.java
similarity index 83%
rename from elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/threadpool/JobExecutorServiceHandlerFactoryTest.java
rename to elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/JobExecutorServiceHandlerFactoryTest.java
index fe2d93a..ff7d606 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/executor/handler/threadpool/JobExecutorServiceHandlerFactoryTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/handler/threadpool/JobExecutorServiceHandlerFactoryTest.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.lite.executor.handler.threadpool;
+package org.apache.shardingsphere.elasticjob.lite.handler.threadpool;
 
 import org.apache.shardingsphere.elasticjob.lite.exception.JobConfigurationException;
-import org.apache.shardingsphere.elasticjob.lite.executor.handler.threadpool.impl.CPUUsageJobExecutorServiceHandler;
-import org.apache.shardingsphere.elasticjob.lite.executor.handler.threadpool.impl.SingleThreadJobExecutorServiceHandler;
+import org.apache.shardingsphere.elasticjob.lite.handler.threadpool.impl.CPUUsageJobExecutorServiceHandler;
+import org.apache.shardingsphere.elasticjob.lite.handler.threadpool.impl.SingleThreadJobExecutorServiceHandler;
 import org.junit.Test;
 
 import static org.hamcrest.CoreMatchers.instanceOf;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/config/RescheduleListenerManagerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/config/RescheduleListenerManagerTest.java
index 86af9a3..f03ed38 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/config/RescheduleListenerManagerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/config/RescheduleListenerManagerTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.lite.internal.config;
 
 import org.apache.curator.framework.recipes.cache.TreeCacheEvent.Type;
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.event.JobEventBus;
 import org.apache.shardingsphere.elasticjob.lite.fixture.LiteJsonConstants;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobRegistry;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/election/ElectionListenerManagerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/election/ElectionListenerManagerTest.java
index 3ea3c86..43aeb8e 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/election/ElectionListenerManagerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/election/ElectionListenerManagerTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.lite.internal.election;
 
 import org.apache.curator.framework.recipes.cache.TreeCacheEvent.Type;
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobRegistry;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobScheduleController;
 import org.apache.shardingsphere.elasticjob.lite.internal.server.ServerService;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/election/LeaderServiceTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/election/LeaderServiceTest.java
index 99eb6ae..c619233 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/election/LeaderServiceTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/election/LeaderServiceTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.lite.internal.election;
 
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.internal.election.LeaderService.LeaderElectionExecutionCallback;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobRegistry;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobScheduleController;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/failover/FailoverListenerManagerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/failover/FailoverListenerManagerTest.java
index 0fee072..1b1ba79 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/failover/FailoverListenerManagerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/failover/FailoverListenerManagerTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.lite.internal.failover;
 
 import org.apache.curator.framework.recipes.cache.TreeCacheEvent.Type;
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.config.JobCoreConfiguration;
 import org.apache.shardingsphere.elasticjob.lite.config.LiteJobConfiguration;
 import org.apache.shardingsphere.elasticjob.lite.config.simple.SimpleJobConfiguration;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/failover/FailoverServiceTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/failover/FailoverServiceTest.java
index 0b9157b..98066d0 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/failover/FailoverServiceTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/failover/FailoverServiceTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.lite.internal.failover;
 
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobRegistry;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobScheduleController;
 import org.apache.shardingsphere.elasticjob.lite.internal.sharding.ShardingService;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/InstanceNodeTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/InstanceNodeTest.java
index d448827..75a1487 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/InstanceNodeTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/InstanceNodeTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.lite.internal.instance;
 
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobRegistry;
 import org.junit.BeforeClass;
 import org.junit.Test;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/InstanceServiceTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/InstanceServiceTest.java
index 9dfa194..020a6aa 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/InstanceServiceTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/InstanceServiceTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.lite.internal.instance;
 
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobRegistry;
 import org.apache.shardingsphere.elasticjob.lite.internal.server.ServerService;
 import org.apache.shardingsphere.elasticjob.lite.internal.storage.JobNodeStorage;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/ShutdownListenerManagerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/ShutdownListenerManagerTest.java
index a35986b..a3c216d 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/ShutdownListenerManagerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/ShutdownListenerManagerTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.lite.internal.instance;
 
 import org.apache.curator.framework.recipes.cache.TreeCacheEvent.Type;
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobRegistry;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobScheduleController;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.SchedulerFacade;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/TriggerListenerManagerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/TriggerListenerManagerTest.java
index 331bda5..30df330 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/TriggerListenerManagerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/instance/TriggerListenerManagerTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.lite.internal.instance;
 
 import org.apache.curator.framework.recipes.cache.TreeCacheEvent.Type;
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobRegistry;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobScheduleController;
 import org.apache.shardingsphere.elasticjob.lite.internal.storage.JobNodeStorage;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/listener/RegistryCenterConnectionStateListenerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/listener/RegistryCenterConnectionStateListenerTest.java
index f4b6b88..0985468 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/listener/RegistryCenterConnectionStateListenerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/listener/RegistryCenterConnectionStateListenerTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.lite.internal.listener;
 
 import org.apache.curator.framework.state.ConnectionState;
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.internal.instance.InstanceService;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobRegistry;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobScheduleController;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/reconcile/ReconcileServiceTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/reconcile/ReconcileServiceTest.java
index 2faf99a..6da1fe8 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/reconcile/ReconcileServiceTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/reconcile/ReconcileServiceTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.lite.internal.reconcile;
 
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.config.JobCoreConfiguration;
 import org.apache.shardingsphere.elasticjob.lite.config.LiteJobConfiguration;
 import org.apache.shardingsphere.elasticjob.lite.config.simple.SimpleJobConfiguration;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/JobRegistryTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/JobRegistryTest.java
index d381c5c..12b2d83 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/JobRegistryTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/JobRegistryTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.lite.internal.schedule;
 
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.reg.base.CoordinatorRegistryCenter;
 import org.junit.Test;
 import org.unitils.util.ReflectionUtils;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/SchedulerFacadeTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/SchedulerFacadeTest.java
index 410acbe..258ec31 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/SchedulerFacadeTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/schedule/SchedulerFacadeTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.lite.internal.schedule;
 
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.config.JobCoreConfiguration;
 import org.apache.shardingsphere.elasticjob.lite.config.LiteJobConfiguration;
 import org.apache.shardingsphere.elasticjob.lite.config.dataflow.DataflowJobConfiguration;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/server/ServerNodeTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/server/ServerNodeTest.java
index bdd9b1b..bc522fc 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/server/ServerNodeTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/server/ServerNodeTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.lite.internal.server;
 
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobRegistry;
 import org.junit.BeforeClass;
 import org.junit.Test;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/server/ServerServiceTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/server/ServerServiceTest.java
index ed4d15f..bb28ed3 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/server/ServerServiceTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/server/ServerServiceTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.lite.internal.server;
 
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobRegistry;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobScheduleController;
 import org.apache.shardingsphere.elasticjob.lite.internal.storage.JobNodeStorage;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ExecutionContextServiceTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ExecutionContextServiceTest.java
index 5620b61..e0407bc 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ExecutionContextServiceTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ExecutionContextServiceTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.lite.internal.sharding;
 
 import com.google.common.collect.Lists;
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.config.JobCoreConfiguration;
 import org.apache.shardingsphere.elasticjob.lite.config.LiteJobConfiguration;
 import org.apache.shardingsphere.elasticjob.lite.config.dataflow.DataflowJobConfiguration;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingListenerManagerTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingListenerManagerTest.java
index 36d429f..dde5ca8 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingListenerManagerTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingListenerManagerTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.lite.internal.sharding;
 
 import org.apache.curator.framework.recipes.cache.TreeCacheEvent.Type;
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.fixture.LiteJsonConstants;
 import org.apache.shardingsphere.elasticjob.lite.internal.listener.AbstractJobListener;
 import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobRegistry;
diff --git a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingServiceTest.java b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingServiceTest.java
index 10cbc24..d09122b 100644
--- a/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingServiceTest.java
+++ b/elastic-job-lite-core/src/test/java/org/apache/shardingsphere/elasticjob/lite/internal/sharding/ShardingServiceTest.java
@@ -21,7 +21,7 @@ import org.apache.curator.framework.api.transaction.CuratorTransactionBridge;
 import org.apache.curator.framework.api.transaction.CuratorTransactionFinal;
 import org.apache.curator.framework.api.transaction.TransactionCreateBuilder;
 import org.apache.curator.framework.api.transaction.TransactionDeleteBuilder;
-import org.apache.shardingsphere.elasticjob.lite.api.strategy.JobInstance;
+import org.apache.shardingsphere.elasticjob.lite.handler.sharding.JobInstance;
 import org.apache.shardingsphere.elasticjob.lite.config.JobCoreConfiguration;
 import org.apache.shardingsphere.elasticjob.lite.config.LiteJobConfiguration;
 import org.apache.shardingsphere.elasticjob.lite.config.simple.SimpleJobConfiguration;
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 93357e7..f1ef5d1 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.LogJobErrorHandler" level="OFF" />
+    <logger name="org.apache.shardingsphere.elasticjob.lite.handler.error.impl.LogJobErrorHandler" level="OFF" />
     <logger name="org.apache.shardingsphere.elasticjob.lite.internal.monitor.MonitorService" level="OFF" />
 </configuration>