You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2023/11/01 05:04:20 UTC

(shardingsphere-elasticjob) branch master updated: Move all spi interface to api module

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 066b55668 Move all spi interface to api module
     new c6d19e78f Merge pull request #2361 from terrymanu/dev
066b55668 is described below

commit 066b556681d611d24b4653e7cea83e208f3cb855
Author: zhangliang <zh...@apache.org>
AuthorDate: Wed Nov 1 12:48:07 2023 +0800

    Move all spi interface to api module
---
 .../elasticjob/spi}/executor/ExecutionType.java            |  2 +-
 .../spi}/executor/error/handler/JobErrorHandler.java       |  2 +-
 .../error/handler/JobErrorHandlerPropertiesValidator.java  |  2 +-
 .../spi/executor/{ => item}/JobItemExecutor.java           |  6 +++---
 .../spi/executor/{ => item}/param/JobRuntimeService.java   |  2 +-
 .../spi/executor/{ => item}/param/ShardingContext.java     |  2 +-
 .../executor/{ => item}/type/ClassedJobItemExecutor.java   |  4 ++--
 .../spi/executor/{ => item}/type/TypedJobItemExecutor.java |  4 ++--
 .../elasticjob/spi/listener/param/ShardingContexts.java    |  2 +-
 .../elasticjob/spi}/tracing/event/JobEvent.java            |  2 +-
 .../elasticjob/spi}/tracing/event/JobExecutionEvent.java   |  2 +-
 .../elasticjob/spi}/tracing/event/JobStatusTraceEvent.java |  4 ++--
 .../tracing/exception/TracingConfigurationException.java   |  2 +-
 .../elasticjob/spi}/tracing/listener/TracingListener.java  |  6 +++---
 .../spi}/tracing/listener/TracingListenerFactory.java      |  4 ++--
 .../spi/tracing/storage}/TracingStorageConfiguration.java  |  2 +-
 .../storage/TracingStorageConfigurationConverter.java      |  9 ++++-----
 .../elasticjob/spi/yaml}/YamlConfiguration.java            |  2 +-
 .../elasticjob/spi/yaml}/YamlConfigurationConverter.java   |  2 +-
 .../elasticjob/annotation/job/CustomJob.java               |  2 +-
 .../elasticjob/annotation/job/impl/SimpleTestJob.java      |  2 +-
 .../spi/listener/param/ShardingContextsTest.java           |  2 +-
 .../error/handler/dingtalk/DingtalkJobErrorHandler.java    |  2 +-
 .../DingtalkJobErrorHandlerPropertiesValidator.java        |  2 +-
 ....elasticjob.spi.executor.error.handler.JobErrorHandler} |  0
 ...cutor.error.handler.JobErrorHandlerPropertiesValidator} |  0
 .../DingtalkJobErrorHandlerPropertiesValidatorTest.java    |  2 +-
 .../handler/dingtalk/DingtalkJobErrorHandlerTest.java      |  2 +-
 .../error/handler/email/EmailJobErrorHandler.java          |  2 +-
 .../email/EmailJobErrorHandlerPropertiesValidator.java     |  2 +-
 ....elasticjob.spi.executor.error.handler.JobErrorHandler} |  0
 ...cutor.error.handler.JobErrorHandlerPropertiesValidator} |  0
 .../email/EmailJobErrorHandlerPropertiesValidatorTest.java |  2 +-
 .../error/handler/email/EmailJobErrorHandlerTest.java      |  2 +-
 .../error/handler/normal/IgnoreJobErrorHandler.java        |  2 +-
 .../error/handler/normal/LogJobErrorHandler.java           |  2 +-
 .../error/handler/normal/ThrowJobErrorHandler.java         |  2 +-
 ....elasticjob.spi.executor.error.handler.JobErrorHandler} |  0
 .../error/handler/normal/IgnoreJobErrorHandlerTest.java    |  2 +-
 .../error/handler/normal/LogJobErrorHandlerTest.java       |  2 +-
 .../error/handler/normal/ThrowJobErrorHandlerTest.java     |  2 +-
 .../error/handler/wechat/WechatJobErrorHandler.java        |  2 +-
 .../wechat/WechatJobErrorHandlerPropertiesValidator.java   |  2 +-
 ....elasticjob.spi.executor.error.handler.JobErrorHandler} |  0
 ...cutor.error.handler.JobErrorHandlerPropertiesValidator} |  0
 .../WechatJobErrorHandlerPropertiesValidatorTest.java      |  2 +-
 .../error/handler/wechat/WechatJobErrorHandlerTest.java    |  2 +-
 .../elasticjob/dataflow/executor/DataflowJobExecutor.java  |  6 +++---
 .../elasticjob/dataflow/job/DataflowJob.java               |  2 +-
 ...asticjob.spi.executor.item.type.ClassedJobItemExecutor} |  0
 .../dataflow/executor/DataflowJobExecutorTest.java         |  4 ++--
 .../elasticjob/http/executor/HttpJobExecutor.java          |  6 +++---
 ...elasticjob.spi.executor.item.type.TypedJobItemExecutor} |  0
 .../elasticjob/http/executor/HttpJobExecutorTest.java      |  4 ++--
 .../elasticjob/script/executor/ScriptJobExecutor.java      |  6 +++---
 ...elasticjob.spi.executor.item.type.TypedJobItemExecutor} |  0
 .../elasticjob/script/ScriptJobExecutorTest.java           |  4 ++--
 .../elasticjob/simple/executor/SimpleJobExecutor.java      |  6 +++---
 .../shardingsphere/elasticjob/simple/job/SimpleJob.java    |  2 +-
 ...asticjob.spi.executor.item.type.ClassedJobItemExecutor} |  0
 .../elasticjob/simple/executor/SimpleJobExecutorTest.java  |  2 +-
 .../shardingsphere/elasticjob/simple/job/FooSimpleJob.java |  2 +-
 .../tracing/rdb/config/RDBTracingStorageConfiguration.java |  2 +-
 .../tracing/rdb/listener/RDBTracingListener.java           |  6 +++---
 .../tracing/rdb/listener/RDBTracingListenerFactory.java    |  6 +++---
 ...r.java => RDBTracingStorageConfigurationConverter.java} |  8 ++++----
 .../rdb/storage/repository/RDBJobEventRepository.java      |  6 +++---
 .../tracing/rdb/yaml/YamlDataSourceConfiguration.java      |  2 +-
 .../rdb/yaml/YamlDataSourceConfigurationConverter.java     |  4 ++--
 ...elasticjob.spi.tracing.listener.TracingListenerFactory} |  0
 ...i.tracing.storage.TracingStorageConfigurationConverter} |  2 +-
 ...gsphere.elasticjob.spi.yaml.YamlConfigurationConverter} |  0
 .../rdb/listener/RDBTracingListenerFactoryTest.java        |  2 +-
 .../tracing/rdb/listener/RDBTracingListenerTest.java       |  8 ++++----
 ...va => RDBTracingStorageConfigurationConverterTest.java} | 14 +++++++-------
 .../rdb/storage/repository/RDBJobEventRepositoryTest.java  |  8 ++++----
 ecosystem/tracing/rdb/src/test/resources/logback-test.xml  |  2 +-
 .../elasticjob/example/job/dataflow/JavaDataflowJob.java   |  2 +-
 .../elasticjob/example/job/dataflow/SpringDataflowJob.java |  2 +-
 .../elasticjob/example/job/simple/JavaOccurErrorJob.java   |  2 +-
 .../elasticjob/example/job/simple/JavaSimpleJob.java       |  2 +-
 .../elasticjob/example/job/simple/SpringSimpleJob.java     |  2 +-
 .../elasticjob/example/job/SpringBootDataflowJob.java      |  2 +-
 .../example/job/SpringBootOccurErrorNoticeDingtalkJob.java |  2 +-
 .../example/job/SpringBootOccurErrorNoticeEmailJob.java    |  2 +-
 .../example/job/SpringBootOccurErrorNoticeWechatJob.java   |  2 +-
 .../elasticjob/example/job/SpringBootSimpleJob.java        |  2 +-
 .../elasticjob/kernel/executor/ElasticJobExecutor.java     | 13 +++++++------
 .../executor/error/handler/JobErrorHandlerReloader.java    |  1 +
 .../elasticjob/kernel/executor/facade/JobFacade.java       |  8 ++++----
 .../kernel/executor/facade/JobJobRuntimeServiceImpl.java   |  2 +-
 .../kernel/executor/item/JobItemExecutorFactory.java       |  4 ++--
 .../kernel/internal/config/JobConfigurationPOJO.java       |  4 ++--
 .../elasticjob/kernel/internal/context/TaskContext.java    |  2 +-
 .../elasticjob/kernel/internal/schedule/JobScheduler.java  |  2 +-
 .../kernel/tracing/config/TracingConfiguration.java        |  3 ++-
 .../kernel/tracing/event/JobTracingEventBus.java           |  5 +++--
 .../tracing/storage/TracingStorageConverterFactory.java    | 13 +++++++------
 .../kernel/tracing/yaml/YamlTracingConfiguration.java      |  2 +-
 .../tracing/yaml/YamlTracingConfigurationConverter.java    |  4 ++--
 .../tracing/yaml/YamlTracingStorageConfiguration.java      |  4 ++--
 ...gsphere.elasticjob.spi.yaml.YamlConfigurationConverter} |  0
 .../elasticjob/kernel/executor/ElasticJobExecutorTest.java |  4 ++--
 .../error/handler/JobErrorHandlerReloaderTest.java         |  1 +
 .../error/handler/fixture/BarJobErrorHandlerFixture.java   |  2 +-
 .../error/handler/fixture/FooJobErrorHandlerFixture.java   |  2 +-
 .../kernel/fixture/executor/ClassedFooJobExecutor.java     |  6 +++---
 .../kernel/fixture/executor/TypedFooJobExecutor.java       |  6 +++---
 .../elasticjob/kernel/fixture/job/DetailedFooJob.java      |  2 +-
 .../elasticjob/kernel/fixture/job/FooJob.java              |  2 +-
 .../kernel/internal/context/TaskContextTest.java           |  2 +-
 .../kernel/internal/context/fixture/TaskNode.java          |  2 +-
 .../kernel/tracing/event/JobExecutionEventTest.java        |  1 +
 .../kernel/tracing/event/JobTracingEventBusTest.java       |  2 ++
 .../fixture/config/TracingStorageConfigurationFixture.java |  2 +-
 ...va => TracingStorageFixtureConfigurationConverter.java} |  8 ++++----
 .../tracing/fixture/listener/TracingListenerFixture.java   |  6 +++---
 .../fixture/listener/TracingListenerFixtureFactory.java    |  4 ++--
 ...> TracingStorageConfigurationConverterFactoryTest.java} |  2 +-
 .../tracing/yaml/YamlJobEventCallerConfiguration.java      |  2 +-
 .../yaml/YamlJobEventCallerConfigurationConverter.java     |  4 ++--
 ....elasticjob.spi.executor.error.handler.JobErrorHandler} |  0
 ...asticjob.spi.executor.item.type.ClassedJobItemExecutor} |  0
 ...elasticjob.spi.executor.item.type.TypedJobItemExecutor} |  0
 ...elasticjob.spi.tracing.listener.TracingListenerFactory} |  0
 ...i.tracing.storage.TracingStorageConfigurationConverter} |  2 +-
 ...gsphere.elasticjob.spi.yaml.YamlConfigurationConverter} |  0
 .../spring/boot/job/executor/CustomClassedJobExecutor.java |  6 +++---
 .../spring/boot/job/executor/PrintJobExecutor.java         |  6 +++---
 .../elasticjob/spring/boot/job/fixture/job/CustomJob.java  |  2 +-
 .../boot/job/fixture/job/impl/AnnotationCustomJob.java     |  2 +-
 .../spring/boot/job/fixture/job/impl/CustomTestJob.java    |  2 +-
 ...asticjob.spi.executor.item.type.ClassedJobItemExecutor} |  0
 ...elasticjob.spi.executor.item.type.TypedJobItemExecutor} |  0
 .../elasticjob/spring/core/util/TargetJob.java             |  2 +-
 .../spring/namespace/fixture/job/DataflowElasticJob.java   |  2 +-
 .../spring/namespace/fixture/job/FooSimpleElasticJob.java  |  2 +-
 .../fixture/job/annotation/AnnotationSimpleJob.java        |  2 +-
 .../fixture/job/ref/RefFooDataflowElasticJob.java          |  2 +-
 .../namespace/fixture/job/ref/RefFooSimpleElasticJob.java  |  2 +-
 .../test/e2e/annotation/fixture/AnnotationSimpleJob.java   |  2 +-
 .../e2e/annotation/fixture/AnnotationUnShardingJob.java    |  2 +-
 .../e2e/raw/fixture/executor/E2EFixtureJobExecutor.java    |  6 +++---
 .../elasticjob/test/e2e/raw/fixture/job/E2EFixtureJob.java |  2 +-
 .../test/e2e/raw/fixture/job/E2EFixtureJobImpl.java        |  2 +-
 ...asticjob.spi.executor.item.type.ClassedJobItemExecutor} |  0
 146 files changed, 209 insertions(+), 201 deletions(-)

diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/ExecutionType.java b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/ExecutionType.java
similarity index 94%
rename from kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/ExecutionType.java
rename to api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/ExecutionType.java
index b7544b3de..4359a1785 100755
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/ExecutionType.java
+++ b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/ExecutionType.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.kernel.executor;
+package org.apache.shardingsphere.elasticjob.spi.executor;
 
 /**
  * Execution type.
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/JobErrorHandler.java b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/error/handler/JobErrorHandler.java
similarity index 94%
rename from kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/JobErrorHandler.java
rename to api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/error/handler/JobErrorHandler.java
index f4a1f0f4d..762981a90 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/JobErrorHandler.java
+++ b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/error/handler/JobErrorHandler.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.kernel.executor.error.handler;
+package org.apache.shardingsphere.elasticjob.spi.executor.error.handler;
 
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
 
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/JobErrorHandlerPropertiesValidator.java b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/error/handler/JobErrorHandlerPropertiesValidator.java
similarity index 94%
rename from kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/JobErrorHandlerPropertiesValidator.java
rename to api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/error/handler/JobErrorHandlerPropertiesValidator.java
index 098c6fc35..8c7a1253f 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/JobErrorHandlerPropertiesValidator.java
+++ b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/error/handler/JobErrorHandlerPropertiesValidator.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.kernel.executor.error.handler;
+package org.apache.shardingsphere.elasticjob.spi.executor.error.handler;
 
 import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
diff --git a/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/JobItemExecutor.java b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/JobItemExecutor.java
similarity index 85%
rename from api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/JobItemExecutor.java
rename to api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/JobItemExecutor.java
index e78c97aeb..e933d8b92 100644
--- a/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/JobItemExecutor.java
+++ b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/JobItemExecutor.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.spi.executor;
+package org.apache.shardingsphere.elasticjob.spi.executor.item;
 
 import org.apache.shardingsphere.elasticjob.api.ElasticJob;
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.JobRuntimeService;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.JobRuntimeService;
 
 /**
  * Job item executor.
diff --git a/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/param/JobRuntimeService.java b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/param/JobRuntimeService.java
similarity index 93%
rename from api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/param/JobRuntimeService.java
rename to api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/param/JobRuntimeService.java
index 35538aae5..375ed64b1 100644
--- a/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/param/JobRuntimeService.java
+++ b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/param/JobRuntimeService.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.spi.executor.param;
+package org.apache.shardingsphere.elasticjob.spi.executor.item.param;
 
 /**
  * Job runtime service.
diff --git a/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/param/ShardingContext.java b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/param/ShardingContext.java
similarity index 94%
rename from api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/param/ShardingContext.java
rename to api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/param/ShardingContext.java
index a3f94167c..d75637709 100644
--- a/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/param/ShardingContext.java
+++ b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/param/ShardingContext.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.spi.executor.param;
+package org.apache.shardingsphere.elasticjob.spi.executor.item.param;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
diff --git a/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/type/ClassedJobItemExecutor.java b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/type/ClassedJobItemExecutor.java
similarity index 89%
rename from api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/type/ClassedJobItemExecutor.java
rename to api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/type/ClassedJobItemExecutor.java
index 319618ecb..166f419a8 100644
--- a/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/type/ClassedJobItemExecutor.java
+++ b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/type/ClassedJobItemExecutor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.spi.executor.type;
+package org.apache.shardingsphere.elasticjob.spi.executor.item.type;
 
 import org.apache.shardingsphere.elasticjob.api.ElasticJob;
-import org.apache.shardingsphere.elasticjob.spi.executor.JobItemExecutor;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.JobItemExecutor;
 import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
 
 /**
diff --git a/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/type/TypedJobItemExecutor.java b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/type/TypedJobItemExecutor.java
similarity index 88%
rename from api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/type/TypedJobItemExecutor.java
rename to api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/type/TypedJobItemExecutor.java
index 1d2c278fd..bdf808f71 100644
--- a/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/type/TypedJobItemExecutor.java
+++ b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/executor/item/type/TypedJobItemExecutor.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.spi.executor.type;
+package org.apache.shardingsphere.elasticjob.spi.executor.item.type;
 
 import org.apache.shardingsphere.elasticjob.api.ElasticJob;
-import org.apache.shardingsphere.elasticjob.spi.executor.JobItemExecutor;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.JobItemExecutor;
 import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
 
diff --git a/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/listener/param/ShardingContexts.java b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/listener/param/ShardingContexts.java
index aa9604868..e6877b940 100644
--- a/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/listener/param/ShardingContexts.java
+++ b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/listener/param/ShardingContexts.java
@@ -21,7 +21,7 @@ import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import lombok.Setter;
 import lombok.ToString;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 
 import java.io.Serializable;
 import java.util.Map;
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobEvent.java b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/event/JobEvent.java
similarity index 93%
rename from kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobEvent.java
rename to api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/event/JobEvent.java
index fd44f9d09..db0b4e5a8 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobEvent.java
+++ b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/event/JobEvent.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.kernel.tracing.event;
+package org.apache.shardingsphere.elasticjob.spi.tracing.event;
 
 /**
  * Job event.
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobExecutionEvent.java b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/event/JobExecutionEvent.java
similarity index 97%
rename from kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobExecutionEvent.java
rename to api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/event/JobExecutionEvent.java
index ab5eb84c9..bd15c9ea4 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobExecutionEvent.java
+++ b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/event/JobExecutionEvent.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.kernel.tracing.event;
+package org.apache.shardingsphere.elasticjob.spi.tracing.event;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobStatusTraceEvent.java b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/event/JobStatusTraceEvent.java
similarity index 92%
rename from kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobStatusTraceEvent.java
rename to api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/event/JobStatusTraceEvent.java
index 9233fe060..4ea6fe841 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobStatusTraceEvent.java
+++ b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/event/JobStatusTraceEvent.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.kernel.tracing.event;
+package org.apache.shardingsphere.elasticjob.spi.tracing.event;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import lombok.Setter;
-import org.apache.shardingsphere.elasticjob.kernel.executor.ExecutionType;
+import org.apache.shardingsphere.elasticjob.spi.executor.ExecutionType;
 
 import java.util.Date;
 import java.util.UUID;
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/exception/TracingConfigurationException.java b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/exception/TracingConfigurationException.java
similarity index 94%
rename from kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/exception/TracingConfigurationException.java
rename to api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/exception/TracingConfigurationException.java
index 4643ef9b8..7b31d1000 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/exception/TracingConfigurationException.java
+++ b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/exception/TracingConfigurationException.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.kernel.tracing.exception;
+package org.apache.shardingsphere.elasticjob.spi.tracing.exception;
 
 /**
  * Tracing configuration exception.
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/listener/TracingListener.java b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/listener/TracingListener.java
similarity index 85%
rename from kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/listener/TracingListener.java
rename to api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/listener/TracingListener.java
index b95a8a15c..443756209 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/listener/TracingListener.java
+++ b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/listener/TracingListener.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.kernel.tracing.listener;
+package org.apache.shardingsphere.elasticjob.spi.tracing.listener;
 
 import com.google.common.eventbus.AllowConcurrentEvents;
 import com.google.common.eventbus.Subscribe;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobExecutionEvent;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobStatusTraceEvent;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobExecutionEvent;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobStatusTraceEvent;
 
 /**
  * Tracing listener.
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/listener/TracingListenerFactory.java b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/listener/TracingListenerFactory.java
similarity index 89%
rename from kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/listener/TracingListenerFactory.java
rename to api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/listener/TracingListenerFactory.java
index 44485502e..39179f7e0 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/listener/TracingListenerFactory.java
+++ b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/listener/TracingListenerFactory.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.kernel.tracing.listener;
+package org.apache.shardingsphere.elasticjob.spi.tracing.listener;
 
-import org.apache.shardingsphere.elasticjob.kernel.tracing.exception.TracingConfigurationException;
+import org.apache.shardingsphere.elasticjob.spi.tracing.exception.TracingConfigurationException;
 import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
 
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/config/TracingStorageConfiguration.java b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/storage/TracingStorageConfiguration.java
similarity index 93%
rename from kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/config/TracingStorageConfiguration.java
rename to api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/storage/TracingStorageConfiguration.java
index 615b393b7..e1c8602a9 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/config/TracingStorageConfiguration.java
+++ b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/storage/TracingStorageConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.kernel.tracing.config;
+package org.apache.shardingsphere.elasticjob.spi.tracing.storage;
 
 /**
  * Tracing storage configuration.
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/storage/TracingStorageConverter.java b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/storage/TracingStorageConfigurationConverter.java
similarity index 79%
rename from kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/storage/TracingStorageConverter.java
rename to api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/storage/TracingStorageConfigurationConverter.java
index d55a2349a..4752237eb 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/storage/TracingStorageConverter.java
+++ b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/tracing/storage/TracingStorageConfigurationConverter.java
@@ -15,18 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.kernel.tracing.storage;
+package org.apache.shardingsphere.elasticjob.spi.tracing.storage;
 
-import org.apache.shardingsphere.elasticjob.kernel.tracing.config.TracingStorageConfiguration;
 import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
 
 /**
- * Tracing storage converter.
+ * Tracing storage configuration converter.
  *
  * @param <T> storage type
  */
 @SingletonSPI
-public interface TracingStorageConverter<T> {
+public interface TracingStorageConfigurationConverter<T> {
     
     /**
      * Convert storage to {@link TracingStorageConfiguration}.
@@ -34,7 +33,7 @@ public interface TracingStorageConverter<T> {
      * @param storage storage instance
      * @return instance of {@link TracingStorageConfiguration}
      */
-    TracingStorageConfiguration<T> convertToConfiguration(T storage);
+    TracingStorageConfiguration<T> toConfiguration(T storage);
     
     /**
      * Storage type.
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/yaml/config/YamlConfiguration.java b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/yaml/YamlConfiguration.java
similarity index 93%
rename from kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/yaml/config/YamlConfiguration.java
rename to api/src/main/java/org/apache/shardingsphere/elasticjob/spi/yaml/YamlConfiguration.java
index 0dc414979..2b55cd306 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/yaml/config/YamlConfiguration.java
+++ b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/yaml/YamlConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.kernel.infra.yaml.config;
+package org.apache.shardingsphere.elasticjob.spi.yaml;
 
 import java.io.Serializable;
 
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/yaml/config/YamlConfigurationConverter.java b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/yaml/YamlConfigurationConverter.java
similarity index 95%
rename from kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/yaml/config/YamlConfigurationConverter.java
rename to api/src/main/java/org/apache/shardingsphere/elasticjob/spi/yaml/YamlConfigurationConverter.java
index 1e38b4028..6ed998c8d 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/yaml/config/YamlConfigurationConverter.java
+++ b/api/src/main/java/org/apache/shardingsphere/elasticjob/spi/yaml/YamlConfigurationConverter.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.elasticjob.kernel.infra.yaml.config;
+package org.apache.shardingsphere.elasticjob.spi.yaml;
 
 import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
diff --git a/api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/job/CustomJob.java b/api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/job/CustomJob.java
index cd2f29ebd..56eb51b70 100644
--- a/api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/job/CustomJob.java
+++ b/api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/job/CustomJob.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.annotation.job;
 
 import org.apache.shardingsphere.elasticjob.api.ElasticJob;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 
 public interface CustomJob extends ElasticJob {
     
diff --git a/api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/job/impl/SimpleTestJob.java b/api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/job/impl/SimpleTestJob.java
index 340a0fccd..97119dbc4 100644
--- a/api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/job/impl/SimpleTestJob.java
+++ b/api/src/test/java/org/apache/shardingsphere/elasticjob/annotation/job/impl/SimpleTestJob.java
@@ -21,7 +21,7 @@ import org.apache.shardingsphere.elasticjob.annotation.ElasticJobConfiguration;
 import org.apache.shardingsphere.elasticjob.annotation.ElasticJobProp;
 import org.apache.shardingsphere.elasticjob.annotation.SimpleTracingConfigurationFactory;
 import org.apache.shardingsphere.elasticjob.annotation.job.CustomJob;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 
 @ElasticJobConfiguration(
         cron = "0/5 * * * * ?",
diff --git a/api/src/test/java/org/apache/shardingsphere/elasticjob/spi/listener/param/ShardingContextsTest.java b/api/src/test/java/org/apache/shardingsphere/elasticjob/spi/listener/param/ShardingContextsTest.java
index f4d32bb32..2051b1069 100644
--- a/api/src/test/java/org/apache/shardingsphere/elasticjob/spi/listener/param/ShardingContextsTest.java
+++ b/api/src/test/java/org/apache/shardingsphere/elasticjob/spi/listener/param/ShardingContextsTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.spi.listener.param;
 
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.junit.jupiter.api.Test;
 
 import java.util.HashMap;
diff --git a/ecosystem/error-handler/dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandler.java b/ecosystem/error-handler/dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandler.java
index ff78fcb59..810337533 100644
--- a/ecosystem/error-handler/dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandler.java
+++ b/ecosystem/error-handler/dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandler.java
@@ -30,7 +30,7 @@ import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
 import org.apache.http.util.EntityUtils;
 import org.apache.shardingsphere.elasticjob.kernel.infra.json.GsonFactory;
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler;
 
 import javax.crypto.Mac;
 import javax.crypto.spec.SecretKeySpec;
diff --git a/ecosystem/error-handler/dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandlerPropertiesValidator.java b/ecosystem/error-handler/dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandlerPropertiesValidator.java
index 5a1194101..b791cf460 100644
--- a/ecosystem/error-handler/dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandlerPropertiesValidator.java
+++ b/ecosystem/error-handler/dingtalk/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandlerPropertiesValidator.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.error.handler.dingtalk;
 
 import org.apache.shardingsphere.elasticjob.kernel.infra.exception.PropertiesPreconditions;
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerPropertiesValidator;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandlerPropertiesValidator;
 
 import java.util.Properties;
 
diff --git a/ecosystem/error-handler/dingtalk/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler b/ecosystem/error-handler/dingtalk/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler
similarity index 100%
rename from ecosystem/error-handler/dingtalk/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler
rename to ecosystem/error-handler/dingtalk/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler
diff --git a/ecosystem/error-handler/dingtalk/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerPropertiesValidator b/ecosystem/error-handler/dingtalk/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandlerPropertiesValidator
similarity index 100%
rename from ecosystem/error-handler/dingtalk/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerPropertiesValidator
rename to ecosystem/error-handler/dingtalk/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandlerPropertiesValidator
diff --git a/ecosystem/error-handler/dingtalk/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandlerPropertiesValidatorTest.java b/ecosystem/error-handler/dingtalk/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandlerPropertiesValidatorTest.java
index 440bcf9aa..7bc3c4705 100644
--- a/ecosystem/error-handler/dingtalk/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandlerPropertiesValidatorTest.java
+++ b/ecosystem/error-handler/dingtalk/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandlerPropertiesValidatorTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.error.handler.dingtalk;
 
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerPropertiesValidator;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandlerPropertiesValidator;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import org.junit.jupiter.api.Test;
 
diff --git a/ecosystem/error-handler/dingtalk/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandlerTest.java b/ecosystem/error-handler/dingtalk/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandlerTest.java
index 49633dfd8..60cd6dbd4 100644
--- a/ecosystem/error-handler/dingtalk/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandlerTest.java
+++ b/ecosystem/error-handler/dingtalk/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/dingtalk/DingtalkJobErrorHandlerTest.java
@@ -21,7 +21,7 @@ import ch.qos.logback.classic.Level;
 import ch.qos.logback.classic.spi.LoggingEvent;
 import ch.qos.logback.core.read.ListAppender;
 import org.apache.shardingsphere.elasticjob.error.handler.dingtalk.fixture.DingtalkInternalController;
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler;
 import org.apache.shardingsphere.elasticjob.restful.NettyRestfulService;
 import org.apache.shardingsphere.elasticjob.restful.NettyRestfulServiceConfiguration;
 import org.apache.shardingsphere.elasticjob.restful.RestfulService;
diff --git a/ecosystem/error-handler/email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandler.java b/ecosystem/error-handler/email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandler.java
index 05477099d..d65f914da 100644
--- a/ecosystem/error-handler/email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandler.java
+++ b/ecosystem/error-handler/email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandler.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.elasticjob.error.handler.email;
 import com.google.common.base.Strings;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler;
 
 import javax.mail.Authenticator;
 import javax.mail.BodyPart;
diff --git a/ecosystem/error-handler/email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandlerPropertiesValidator.java b/ecosystem/error-handler/email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandlerPropertiesValidator.java
index 7ef1957d4..449df4a06 100644
--- a/ecosystem/error-handler/email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandlerPropertiesValidator.java
+++ b/ecosystem/error-handler/email/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandlerPropertiesValidator.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.error.handler.email;
 
 import org.apache.shardingsphere.elasticjob.kernel.infra.exception.PropertiesPreconditions;
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerPropertiesValidator;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandlerPropertiesValidator;
 
 import java.util.Properties;
 
diff --git a/ecosystem/error-handler/email/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler b/ecosystem/error-handler/email/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler
similarity index 100%
rename from ecosystem/error-handler/email/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler
rename to ecosystem/error-handler/email/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler
diff --git a/ecosystem/error-handler/email/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerPropertiesValidator b/ecosystem/error-handler/email/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandlerPropertiesValidator
similarity index 100%
rename from ecosystem/error-handler/email/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerPropertiesValidator
rename to ecosystem/error-handler/email/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandlerPropertiesValidator
diff --git a/ecosystem/error-handler/email/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandlerPropertiesValidatorTest.java b/ecosystem/error-handler/email/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandlerPropertiesValidatorTest.java
index b634d22e5..0d9af1d87 100644
--- a/ecosystem/error-handler/email/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandlerPropertiesValidatorTest.java
+++ b/ecosystem/error-handler/email/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandlerPropertiesValidatorTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.error.handler.email;
 
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerPropertiesValidator;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandlerPropertiesValidator;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import org.junit.jupiter.api.Test;
 
diff --git a/ecosystem/error-handler/email/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandlerTest.java b/ecosystem/error-handler/email/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandlerTest.java
index d1203870d..97c8ed4dc 100644
--- a/ecosystem/error-handler/email/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandlerTest.java
+++ b/ecosystem/error-handler/email/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/email/EmailJobErrorHandlerTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.elasticjob.error.handler.email;
 import ch.qos.logback.classic.Level;
 import ch.qos.logback.classic.spi.LoggingEvent;
 import ch.qos.logback.core.read.ListAppender;
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler;
 import org.apache.shardingsphere.elasticjob.test.util.ReflectionUtils;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import org.junit.jupiter.api.BeforeAll;
diff --git a/ecosystem/error-handler/normal/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/normal/IgnoreJobErrorHandler.java b/ecosystem/error-handler/normal/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/normal/IgnoreJobErrorHandler.java
index ba09daa39..bff139e16 100644
--- a/ecosystem/error-handler/normal/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/normal/IgnoreJobErrorHandler.java
+++ b/ecosystem/error-handler/normal/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/normal/IgnoreJobErrorHandler.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.error.handler.normal;
 
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler;
 
 /**
  * Job error handler for ignore exception.
diff --git a/ecosystem/error-handler/normal/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/normal/LogJobErrorHandler.java b/ecosystem/error-handler/normal/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/normal/LogJobErrorHandler.java
index ab09c3b3c..506009c61 100644
--- a/ecosystem/error-handler/normal/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/normal/LogJobErrorHandler.java
+++ b/ecosystem/error-handler/normal/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/normal/LogJobErrorHandler.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.error.handler.normal;
 
 import lombok.extern.slf4j.Slf4j;
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler;
 
 /**
  * Job error handler for log error message.
diff --git a/ecosystem/error-handler/normal/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/normal/ThrowJobErrorHandler.java b/ecosystem/error-handler/normal/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/normal/ThrowJobErrorHandler.java
index 01ec88a6c..88da11391 100644
--- a/ecosystem/error-handler/normal/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/normal/ThrowJobErrorHandler.java
+++ b/ecosystem/error-handler/normal/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/normal/ThrowJobErrorHandler.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.error.handler.normal;
 
 import org.apache.shardingsphere.elasticjob.kernel.infra.exception.JobSystemException;
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler;
 
 /**
  * Job error handler for throw exception.
diff --git a/ecosystem/error-handler/normal/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler b/ecosystem/error-handler/normal/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler
similarity index 100%
rename from ecosystem/error-handler/normal/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler
rename to ecosystem/error-handler/normal/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler
diff --git a/ecosystem/error-handler/normal/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/normal/IgnoreJobErrorHandlerTest.java b/ecosystem/error-handler/normal/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/normal/IgnoreJobErrorHandlerTest.java
index b4753be05..cec199cd6 100644
--- a/ecosystem/error-handler/normal/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/normal/IgnoreJobErrorHandlerTest.java
+++ b/ecosystem/error-handler/normal/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/normal/IgnoreJobErrorHandlerTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.error.handler.normal;
 
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import org.junit.jupiter.api.Test;
 
diff --git a/ecosystem/error-handler/normal/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/normal/LogJobErrorHandlerTest.java b/ecosystem/error-handler/normal/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/normal/LogJobErrorHandlerTest.java
index ff88b8c81..acdfb044b 100644
--- a/ecosystem/error-handler/normal/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/normal/LogJobErrorHandlerTest.java
+++ b/ecosystem/error-handler/normal/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/normal/LogJobErrorHandlerTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.elasticjob.error.handler.normal;
 import ch.qos.logback.classic.Level;
 import ch.qos.logback.classic.spi.LoggingEvent;
 import ch.qos.logback.core.read.ListAppender;
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/ecosystem/error-handler/normal/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/normal/ThrowJobErrorHandlerTest.java b/ecosystem/error-handler/normal/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/normal/ThrowJobErrorHandlerTest.java
index d8575671f..7b8274472 100644
--- a/ecosystem/error-handler/normal/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/normal/ThrowJobErrorHandlerTest.java
+++ b/ecosystem/error-handler/normal/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/normal/ThrowJobErrorHandlerTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.error.handler.normal;
 
 import org.apache.shardingsphere.elasticjob.kernel.infra.exception.JobSystemException;
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import org.junit.jupiter.api.Test;
 
diff --git a/ecosystem/error-handler/wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandler.java b/ecosystem/error-handler/wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandler.java
index 3c76acb95..903867157 100644
--- a/ecosystem/error-handler/wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandler.java
+++ b/ecosystem/error-handler/wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandler.java
@@ -29,7 +29,7 @@ import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
 import org.apache.http.util.EntityUtils;
 import org.apache.shardingsphere.elasticjob.kernel.infra.json.GsonFactory;
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler;
 
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/ecosystem/error-handler/wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandlerPropertiesValidator.java b/ecosystem/error-handler/wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandlerPropertiesValidator.java
index 70845377b..bd1e056eb 100644
--- a/ecosystem/error-handler/wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandlerPropertiesValidator.java
+++ b/ecosystem/error-handler/wechat/src/main/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandlerPropertiesValidator.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.error.handler.wechat;
 
 import org.apache.shardingsphere.elasticjob.kernel.infra.exception.PropertiesPreconditions;
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerPropertiesValidator;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandlerPropertiesValidator;
 
 import java.util.Properties;
 
diff --git a/ecosystem/error-handler/wechat/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler b/ecosystem/error-handler/wechat/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler
similarity index 100%
rename from ecosystem/error-handler/wechat/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler
rename to ecosystem/error-handler/wechat/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler
diff --git a/ecosystem/error-handler/wechat/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerPropertiesValidator b/ecosystem/error-handler/wechat/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandlerPropertiesValidator
similarity index 100%
rename from ecosystem/error-handler/wechat/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerPropertiesValidator
rename to ecosystem/error-handler/wechat/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandlerPropertiesValidator
diff --git a/ecosystem/error-handler/wechat/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandlerPropertiesValidatorTest.java b/ecosystem/error-handler/wechat/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandlerPropertiesValidatorTest.java
index 286a09330..108964c2a 100644
--- a/ecosystem/error-handler/wechat/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandlerPropertiesValidatorTest.java
+++ b/ecosystem/error-handler/wechat/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandlerPropertiesValidatorTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.error.handler.wechat;
 
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerPropertiesValidator;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandlerPropertiesValidator;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import org.junit.jupiter.api.Test;
 
diff --git a/ecosystem/error-handler/wechat/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandlerTest.java b/ecosystem/error-handler/wechat/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandlerTest.java
index 8ac0470e3..97041d52a 100644
--- a/ecosystem/error-handler/wechat/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandlerTest.java
+++ b/ecosystem/error-handler/wechat/src/test/java/org/apache/shardingsphere/elasticjob/error/handler/wechat/WechatJobErrorHandlerTest.java
@@ -21,7 +21,7 @@ import ch.qos.logback.classic.Level;
 import ch.qos.logback.classic.spi.LoggingEvent;
 import ch.qos.logback.core.read.ListAppender;
 import org.apache.shardingsphere.elasticjob.error.handler.wechat.fixture.WechatInternalController;
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler;
 import org.apache.shardingsphere.elasticjob.restful.NettyRestfulService;
 import org.apache.shardingsphere.elasticjob.restful.NettyRestfulServiceConfiguration;
 import org.apache.shardingsphere.elasticjob.restful.RestfulService;
diff --git a/ecosystem/executor/dataflow/src/main/java/org/apache/shardingsphere/elasticjob/dataflow/executor/DataflowJobExecutor.java b/ecosystem/executor/dataflow/src/main/java/org/apache/shardingsphere/elasticjob/dataflow/executor/DataflowJobExecutor.java
index f3b1d3806..2547527b3 100644
--- a/ecosystem/executor/dataflow/src/main/java/org/apache/shardingsphere/elasticjob/dataflow/executor/DataflowJobExecutor.java
+++ b/ecosystem/executor/dataflow/src/main/java/org/apache/shardingsphere/elasticjob/dataflow/executor/DataflowJobExecutor.java
@@ -18,11 +18,11 @@
 package org.apache.shardingsphere.elasticjob.dataflow.executor;
 
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.apache.shardingsphere.elasticjob.dataflow.job.DataflowJob;
 import org.apache.shardingsphere.elasticjob.dataflow.props.DataflowJobProperties;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.JobRuntimeService;
-import org.apache.shardingsphere.elasticjob.spi.executor.type.ClassedJobItemExecutor;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.JobRuntimeService;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor;
 
 import java.util.List;
 
diff --git a/ecosystem/executor/dataflow/src/main/java/org/apache/shardingsphere/elasticjob/dataflow/job/DataflowJob.java b/ecosystem/executor/dataflow/src/main/java/org/apache/shardingsphere/elasticjob/dataflow/job/DataflowJob.java
index a8009ead2..38f330cac 100644
--- a/ecosystem/executor/dataflow/src/main/java/org/apache/shardingsphere/elasticjob/dataflow/job/DataflowJob.java
+++ b/ecosystem/executor/dataflow/src/main/java/org/apache/shardingsphere/elasticjob/dataflow/job/DataflowJob.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.dataflow.job;
 
 import org.apache.shardingsphere.elasticjob.api.ElasticJob;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 
 import java.util.List;
 
diff --git a/ecosystem/executor/dataflow/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.type.ClassedJobItemExecutor b/ecosystem/executor/dataflow/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor
similarity index 100%
rename from ecosystem/executor/dataflow/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.type.ClassedJobItemExecutor
rename to ecosystem/executor/dataflow/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor
diff --git a/ecosystem/executor/dataflow/src/test/java/org/apache/shardingsphere/elasticjob/dataflow/executor/DataflowJobExecutorTest.java b/ecosystem/executor/dataflow/src/test/java/org/apache/shardingsphere/elasticjob/dataflow/executor/DataflowJobExecutorTest.java
index 439efa5d9..a7603ed02 100644
--- a/ecosystem/executor/dataflow/src/test/java/org/apache/shardingsphere/elasticjob/dataflow/executor/DataflowJobExecutorTest.java
+++ b/ecosystem/executor/dataflow/src/test/java/org/apache/shardingsphere/elasticjob/dataflow/executor/DataflowJobExecutorTest.java
@@ -18,10 +18,10 @@
 package org.apache.shardingsphere.elasticjob.dataflow.executor;
 
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.apache.shardingsphere.elasticjob.dataflow.job.DataflowJob;
 import org.apache.shardingsphere.elasticjob.dataflow.props.DataflowJobProperties;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.JobRuntimeService;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.JobRuntimeService;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
diff --git a/ecosystem/executor/http/src/main/java/org/apache/shardingsphere/elasticjob/http/executor/HttpJobExecutor.java b/ecosystem/executor/http/src/main/java/org/apache/shardingsphere/elasticjob/http/executor/HttpJobExecutor.java
index 19d633c40..1ad5588d0 100644
--- a/ecosystem/executor/http/src/main/java/org/apache/shardingsphere/elasticjob/http/executor/HttpJobExecutor.java
+++ b/ecosystem/executor/http/src/main/java/org/apache/shardingsphere/elasticjob/http/executor/HttpJobExecutor.java
@@ -25,9 +25,9 @@ import org.apache.shardingsphere.elasticjob.http.pojo.HttpParam;
 import org.apache.shardingsphere.elasticjob.http.props.HttpJobProperties;
 import org.apache.shardingsphere.elasticjob.kernel.infra.exception.JobExecutionException;
 import org.apache.shardingsphere.elasticjob.kernel.infra.json.GsonFactory;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.JobRuntimeService;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
-import org.apache.shardingsphere.elasticjob.spi.executor.type.TypedJobItemExecutor;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.JobRuntimeService;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.type.TypedJobItemExecutor;
 
 import java.io.BufferedReader;
 import java.io.IOException;
diff --git a/ecosystem/executor/http/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.type.TypedJobItemExecutor b/ecosystem/executor/http/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.TypedJobItemExecutor
similarity index 100%
rename from ecosystem/executor/http/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.type.TypedJobItemExecutor
rename to ecosystem/executor/http/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.TypedJobItemExecutor
diff --git a/ecosystem/executor/http/src/test/java/org/apache/shardingsphere/elasticjob/http/executor/HttpJobExecutorTest.java b/ecosystem/executor/http/src/test/java/org/apache/shardingsphere/elasticjob/http/executor/HttpJobExecutorTest.java
index 20852386c..ad25edb04 100644
--- a/ecosystem/executor/http/src/test/java/org/apache/shardingsphere/elasticjob/http/executor/HttpJobExecutorTest.java
+++ b/ecosystem/executor/http/src/test/java/org/apache/shardingsphere/elasticjob/http/executor/HttpJobExecutorTest.java
@@ -25,8 +25,8 @@ import org.apache.shardingsphere.elasticjob.kernel.infra.exception.JobExecutionE
 import org.apache.shardingsphere.elasticjob.restful.NettyRestfulService;
 import org.apache.shardingsphere.elasticjob.restful.NettyRestfulServiceConfiguration;
 import org.apache.shardingsphere.elasticjob.restful.RestfulService;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.JobRuntimeService;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.JobRuntimeService;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/ecosystem/executor/script/src/main/java/org/apache/shardingsphere/elasticjob/script/executor/ScriptJobExecutor.java b/ecosystem/executor/script/src/main/java/org/apache/shardingsphere/elasticjob/script/executor/ScriptJobExecutor.java
index cd6177dde..6fef6457e 100644
--- a/ecosystem/executor/script/src/main/java/org/apache/shardingsphere/elasticjob/script/executor/ScriptJobExecutor.java
+++ b/ecosystem/executor/script/src/main/java/org/apache/shardingsphere/elasticjob/script/executor/ScriptJobExecutor.java
@@ -22,9 +22,9 @@ import org.apache.commons.exec.CommandLine;
 import org.apache.commons.exec.DefaultExecutor;
 import org.apache.shardingsphere.elasticjob.api.ElasticJob;
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.JobRuntimeService;
-import org.apache.shardingsphere.elasticjob.spi.executor.type.TypedJobItemExecutor;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.JobRuntimeService;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.type.TypedJobItemExecutor;
 import org.apache.shardingsphere.elasticjob.kernel.infra.exception.JobConfigurationException;
 import org.apache.shardingsphere.elasticjob.kernel.infra.exception.JobSystemException;
 import org.apache.shardingsphere.elasticjob.kernel.infra.json.GsonFactory;
diff --git a/ecosystem/executor/script/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.type.TypedJobItemExecutor b/ecosystem/executor/script/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.TypedJobItemExecutor
similarity index 100%
rename from ecosystem/executor/script/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.type.TypedJobItemExecutor
rename to ecosystem/executor/script/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.TypedJobItemExecutor
diff --git a/ecosystem/executor/script/src/test/java/org/apache/shardingsphere/elasticjob/script/ScriptJobExecutorTest.java b/ecosystem/executor/script/src/test/java/org/apache/shardingsphere/elasticjob/script/ScriptJobExecutorTest.java
index febe4f561..935b7fc05 100644
--- a/ecosystem/executor/script/src/test/java/org/apache/shardingsphere/elasticjob/script/ScriptJobExecutorTest.java
+++ b/ecosystem/executor/script/src/test/java/org/apache/shardingsphere/elasticjob/script/ScriptJobExecutorTest.java
@@ -20,8 +20,8 @@ package org.apache.shardingsphere.elasticjob.script;
 import org.apache.commons.exec.OS;
 import org.apache.shardingsphere.elasticjob.api.ElasticJob;
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.JobRuntimeService;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.JobRuntimeService;
 import org.apache.shardingsphere.elasticjob.kernel.infra.exception.JobConfigurationException;
 import org.apache.shardingsphere.elasticjob.kernel.infra.exception.JobSystemException;
 import org.apache.shardingsphere.elasticjob.script.executor.ScriptJobExecutor;
diff --git a/ecosystem/executor/simple/src/main/java/org/apache/shardingsphere/elasticjob/simple/executor/SimpleJobExecutor.java b/ecosystem/executor/simple/src/main/java/org/apache/shardingsphere/elasticjob/simple/executor/SimpleJobExecutor.java
index 7ff8134aa..fa5147448 100644
--- a/ecosystem/executor/simple/src/main/java/org/apache/shardingsphere/elasticjob/simple/executor/SimpleJobExecutor.java
+++ b/ecosystem/executor/simple/src/main/java/org/apache/shardingsphere/elasticjob/simple/executor/SimpleJobExecutor.java
@@ -18,9 +18,9 @@
 package org.apache.shardingsphere.elasticjob.simple.executor;
 
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.JobRuntimeService;
-import org.apache.shardingsphere.elasticjob.spi.executor.type.ClassedJobItemExecutor;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.JobRuntimeService;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor;
 import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
 
 /**
diff --git a/ecosystem/executor/simple/src/main/java/org/apache/shardingsphere/elasticjob/simple/job/SimpleJob.java b/ecosystem/executor/simple/src/main/java/org/apache/shardingsphere/elasticjob/simple/job/SimpleJob.java
index de6005ca1..c32211310 100644
--- a/ecosystem/executor/simple/src/main/java/org/apache/shardingsphere/elasticjob/simple/job/SimpleJob.java
+++ b/ecosystem/executor/simple/src/main/java/org/apache/shardingsphere/elasticjob/simple/job/SimpleJob.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.simple.job;
 
 import org.apache.shardingsphere.elasticjob.api.ElasticJob;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 
 /**
  * Simple job.
diff --git a/ecosystem/executor/simple/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.type.ClassedJobItemExecutor b/ecosystem/executor/simple/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor
similarity index 100%
rename from ecosystem/executor/simple/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.type.ClassedJobItemExecutor
rename to ecosystem/executor/simple/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor
diff --git a/ecosystem/executor/simple/src/test/java/org/apache/shardingsphere/elasticjob/simple/executor/SimpleJobExecutorTest.java b/ecosystem/executor/simple/src/test/java/org/apache/shardingsphere/elasticjob/simple/executor/SimpleJobExecutorTest.java
index dba7f87ec..969982e54 100644
--- a/ecosystem/executor/simple/src/test/java/org/apache/shardingsphere/elasticjob/simple/executor/SimpleJobExecutorTest.java
+++ b/ecosystem/executor/simple/src/test/java/org/apache/shardingsphere/elasticjob/simple/executor/SimpleJobExecutorTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.simple.executor;
 
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.JobRuntimeService;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.JobRuntimeService;
 import org.apache.shardingsphere.elasticjob.simple.job.FooSimpleJob;
 import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/ecosystem/executor/simple/src/test/java/org/apache/shardingsphere/elasticjob/simple/job/FooSimpleJob.java b/ecosystem/executor/simple/src/test/java/org/apache/shardingsphere/elasticjob/simple/job/FooSimpleJob.java
index e314e7dd1..b0910df78 100644
--- a/ecosystem/executor/simple/src/test/java/org/apache/shardingsphere/elasticjob/simple/job/FooSimpleJob.java
+++ b/ecosystem/executor/simple/src/test/java/org/apache/shardingsphere/elasticjob/simple/job/FooSimpleJob.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.simple.job;
 
 import lombok.Getter;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 
 @Getter
 public final class FooSimpleJob implements SimpleJob {
diff --git a/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/config/RDBTracingStorageConfiguration.java b/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/config/RDBTracingStorageConfiguration.java
index 7d80065e9..be918f9c5 100644
--- a/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/config/RDBTracingStorageConfiguration.java
+++ b/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/config/RDBTracingStorageConfiguration.java
@@ -24,7 +24,7 @@ import com.google.common.collect.Sets;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.config.TracingStorageConfiguration;
+import org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfiguration;
 import org.apache.shardingsphere.elasticjob.tracing.rdb.storage.datasource.DataSourceRegistry;
 import org.apache.shardingsphere.elasticjob.tracing.rdb.storage.datasource.JDBCParameterDecorator;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
diff --git a/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListener.java b/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListener.java
index 448905610..cf764477f 100644
--- a/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListener.java
+++ b/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListener.java
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.elasticjob.tracing.rdb.listener;
 
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobExecutionEvent;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobStatusTraceEvent;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.listener.TracingListener;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobExecutionEvent;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobStatusTraceEvent;
+import org.apache.shardingsphere.elasticjob.spi.tracing.listener.TracingListener;
 import org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository.RDBJobEventRepository;
 
 import javax.sql.DataSource;
diff --git a/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListenerFactory.java b/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListenerFactory.java
index 41ab70941..a22d59252 100644
--- a/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListenerFactory.java
+++ b/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListenerFactory.java
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.elasticjob.tracing.rdb.listener;
 
-import org.apache.shardingsphere.elasticjob.kernel.tracing.exception.TracingConfigurationException;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.listener.TracingListener;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.listener.TracingListenerFactory;
+import org.apache.shardingsphere.elasticjob.spi.tracing.exception.TracingConfigurationException;
+import org.apache.shardingsphere.elasticjob.spi.tracing.listener.TracingListener;
+import org.apache.shardingsphere.elasticjob.spi.tracing.listener.TracingListenerFactory;
 
 import javax.sql.DataSource;
 import java.sql.SQLException;
diff --git a/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/converter/RDBTracingStorageConverter.java b/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/converter/RDBTracingStorageConfigurationConverter.java
similarity index 83%
rename from ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/converter/RDBTracingStorageConverter.java
rename to ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/converter/RDBTracingStorageConfigurationConverter.java
index 6cb81c55c..90cc6af37 100644
--- a/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/converter/RDBTracingStorageConverter.java
+++ b/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/converter/RDBTracingStorageConfigurationConverter.java
@@ -18,9 +18,9 @@
 package org.apache.shardingsphere.elasticjob.tracing.rdb.storage.converter;
 
 import lombok.extern.slf4j.Slf4j;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.config.TracingStorageConfiguration;
+import org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfiguration;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.exception.TracingStorageUnavailableException;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.storage.TracingStorageConverter;
+import org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfigurationConverter;
 import org.apache.shardingsphere.elasticjob.tracing.rdb.config.RDBTracingStorageConfiguration;
 import org.apache.shardingsphere.elasticjob.tracing.rdb.storage.datasource.DataSourceRegistry;
 
@@ -32,10 +32,10 @@ import java.sql.SQLException;
  * RDB tracing storage converter.
  */
 @Slf4j
-public final class RDBTracingStorageConverter implements TracingStorageConverter<DataSource> {
+public final class RDBTracingStorageConfigurationConverter implements TracingStorageConfigurationConverter<DataSource> {
     
     @Override
-    public TracingStorageConfiguration<DataSource> convertToConfiguration(final DataSource dataSource) {
+    public TracingStorageConfiguration<DataSource> toConfiguration(final DataSource dataSource) {
         try (Connection connection = dataSource.getConnection()) {
             log.trace("Try to get connection from {}", connection.getMetaData().getURL());
         } catch (final SQLException ex) {
diff --git a/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/repository/RDBJobEventRepository.java b/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/repository/RDBJobEventRepository.java
index 0248e633b..9bfbf6f27 100644
--- a/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/repository/RDBJobEventRepository.java
+++ b/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/repository/RDBJobEventRepository.java
@@ -19,9 +19,9 @@ package org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository;
 
 import com.google.common.base.Strings;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobExecutionEvent;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobStatusTraceEvent;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobStatusTraceEvent.State;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobExecutionEvent;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobStatusTraceEvent;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobStatusTraceEvent.State;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.exception.TracingStorageUnavailableException;
 import org.apache.shardingsphere.elasticjob.tracing.rdb.storage.sql.RDBStorageSQLMapper;
 import org.apache.shardingsphere.elasticjob.tracing.rdb.storage.sql.SQLPropertiesFactory;
diff --git a/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/yaml/YamlDataSourceConfiguration.java b/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/yaml/YamlDataSourceConfiguration.java
index 1c8a89471..3cab8d6be 100644
--- a/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/yaml/YamlDataSourceConfiguration.java
+++ b/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/yaml/YamlDataSourceConfiguration.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.elasticjob.tracing.rdb.yaml;
 
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.config.TracingStorageConfiguration;
+import org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfiguration;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingStorageConfiguration;
 import org.apache.shardingsphere.elasticjob.tracing.rdb.config.RDBTracingStorageConfiguration;
 
diff --git a/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/yaml/YamlDataSourceConfigurationConverter.java b/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/yaml/YamlDataSourceConfigurationConverter.java
index d995f363d..70128c85f 100644
--- a/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/yaml/YamlDataSourceConfigurationConverter.java
+++ b/ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/yaml/YamlDataSourceConfigurationConverter.java
@@ -17,8 +17,8 @@
 
 package org.apache.shardingsphere.elasticjob.tracing.rdb.yaml;
 
-import org.apache.shardingsphere.elasticjob.kernel.infra.yaml.config.YamlConfigurationConverter;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.config.TracingStorageConfiguration;
+import org.apache.shardingsphere.elasticjob.spi.yaml.YamlConfigurationConverter;
+import org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfiguration;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.yaml.YamlTracingStorageConfiguration;
 import org.apache.shardingsphere.elasticjob.tracing.rdb.config.RDBTracingStorageConfiguration;
 
diff --git a/ecosystem/tracing/rdb/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.tracing.listener.TracingListenerFactory b/ecosystem/tracing/rdb/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.tracing.listener.TracingListenerFactory
similarity index 100%
rename from ecosystem/tracing/rdb/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.tracing.listener.TracingListenerFactory
rename to ecosystem/tracing/rdb/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.tracing.listener.TracingListenerFactory
diff --git a/ecosystem/tracing/rdb/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.tracing.storage.TracingStorageConverter b/ecosystem/tracing/rdb/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfigurationConverter
similarity index 95%
rename from ecosystem/tracing/rdb/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.tracing.storage.TracingStorageConverter
rename to ecosystem/tracing/rdb/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfigurationConverter
index a4db54032..590d3becc 100644
--- a/ecosystem/tracing/rdb/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.tracing.storage.TracingStorageConverter
+++ b/ecosystem/tracing/rdb/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfigurationConverter
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.elasticjob.tracing.rdb.storage.converter.RDBTracingStorageConverter
+org.apache.shardingsphere.elasticjob.tracing.rdb.storage.converter.RDBTracingStorageConfigurationConverter
diff --git a/ecosystem/tracing/rdb/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.infra.yaml.config.YamlConfigurationConverter b/ecosystem/tracing/rdb/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.yaml.YamlConfigurationConverter
similarity index 100%
rename from ecosystem/tracing/rdb/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.infra.yaml.config.YamlConfigurationConverter
rename to ecosystem/tracing/rdb/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.yaml.YamlConfigurationConverter
diff --git a/ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListenerFactoryTest.java b/ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListenerFactoryTest.java
index 31384fb2a..78a146908 100644
--- a/ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListenerFactoryTest.java
+++ b/ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListenerFactoryTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.tracing.rdb.listener;
 
 import org.apache.commons.dbcp2.BasicDataSource;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.exception.TracingConfigurationException;
+import org.apache.shardingsphere.elasticjob.spi.tracing.exception.TracingConfigurationException;
 import org.junit.jupiter.api.Test;
 
 import javax.sql.DataSource;
diff --git a/ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListenerTest.java b/ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListenerTest.java
index d66b25566..1f146704b 100644
--- a/ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListenerTest.java
+++ b/ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/listener/RDBTracingListenerTest.java
@@ -18,12 +18,12 @@
 package org.apache.shardingsphere.elasticjob.tracing.rdb.listener;
 
 import org.apache.commons.dbcp2.BasicDataSource;
-import org.apache.shardingsphere.elasticjob.kernel.executor.ExecutionType;
+import org.apache.shardingsphere.elasticjob.spi.executor.ExecutionType;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobTracingEventBus;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.config.TracingConfiguration;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobExecutionEvent;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobStatusTraceEvent;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobStatusTraceEvent.State;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobExecutionEvent;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobStatusTraceEvent;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobStatusTraceEvent.State;
 import org.apache.shardingsphere.elasticjob.test.util.ReflectionUtils;
 import org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository.RDBJobEventRepository;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/converter/RDBTracingStorageConverterTest.java b/ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/converter/RDBTracingStorageConfigurationConverterTest.java
similarity index 79%
rename from ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/converter/RDBTracingStorageConverterTest.java
rename to ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/converter/RDBTracingStorageConfigurationConverterTest.java
index 5311dcd5b..77b4e608c 100644
--- a/ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/converter/RDBTracingStorageConverterTest.java
+++ b/ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/converter/RDBTracingStorageConfigurationConverterTest.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.elasticjob.tracing.rdb.storage.converter;
 
 import com.zaxxer.hikari.HikariDataSource;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.exception.TracingStorageUnavailableException;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.storage.TracingStorageConverter;
+import org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfigurationConverter;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.storage.TracingStorageConverterFactory;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
@@ -39,7 +39,7 @@ import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.when;
 
 @ExtendWith(MockitoExtension.class)
-class RDBTracingStorageConverterTest {
+class RDBTracingStorageConfigurationConverterTest {
     
     @Mock
     private DataSource dataSource;
@@ -55,22 +55,22 @@ class RDBTracingStorageConverterTest {
         when(dataSource.getConnection()).thenReturn(connection);
         when(connection.getMetaData()).thenReturn(databaseMetaData);
         when(databaseMetaData.getURL()).thenReturn("jdbc:url");
-        RDBTracingStorageConverter converter = new RDBTracingStorageConverter();
-        assertNotNull(converter.convertToConfiguration(dataSource));
+        RDBTracingStorageConfigurationConverter converter = new RDBTracingStorageConfigurationConverter();
+        assertNotNull(converter.toConfiguration(dataSource));
     }
     
     @Test
     void assertConvertFailed() {
         assertThrows(TracingStorageUnavailableException.class, () -> {
-            RDBTracingStorageConverter converter = new RDBTracingStorageConverter();
+            RDBTracingStorageConfigurationConverter converter = new RDBTracingStorageConfigurationConverter();
             doThrow(SQLException.class).when(dataSource).getConnection();
-            converter.convertToConfiguration(dataSource);
+            converter.toConfiguration(dataSource);
         });
     }
     
     @Test
     void assertStorageType() {
-        TracingStorageConverter<HikariDataSource> converter = TracingStorageConverterFactory.findConverter(HikariDataSource.class).orElse(null);
+        TracingStorageConfigurationConverter<HikariDataSource> converter = TracingStorageConverterFactory.findConverter(HikariDataSource.class).orElse(null);
         assertNotNull(converter);
         assertThat(converter.storageType(), is(DataSource.class));
     }
diff --git a/ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/repository/RDBJobEventRepositoryTest.java b/ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/repository/RDBJobEventRepositoryTest.java
index a2950c3db..9afa7b6f9 100644
--- a/ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/repository/RDBJobEventRepositoryTest.java
+++ b/ecosystem/tracing/rdb/src/test/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/repository/RDBJobEventRepositoryTest.java
@@ -18,10 +18,10 @@
 package org.apache.shardingsphere.elasticjob.tracing.rdb.storage.repository;
 
 import org.apache.commons.dbcp2.BasicDataSource;
-import org.apache.shardingsphere.elasticjob.kernel.executor.ExecutionType;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobExecutionEvent;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobStatusTraceEvent;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobStatusTraceEvent.State;
+import org.apache.shardingsphere.elasticjob.spi.executor.ExecutionType;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobExecutionEvent;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobStatusTraceEvent;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobStatusTraceEvent.State;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/ecosystem/tracing/rdb/src/test/resources/logback-test.xml b/ecosystem/tracing/rdb/src/test/resources/logback-test.xml
index 17a6dfd84..93c6fecd5 100644
--- a/ecosystem/tracing/rdb/src/test/resources/logback-test.xml
+++ b/ecosystem/tracing/rdb/src/test/resources/logback-test.xml
@@ -38,5 +38,5 @@
         <appender-ref ref="STDOUT" />
     </root>
     
-    <logger name="org.apache.shardingsphere.elasticjob.tracing.rdb.storage.converter.RDBTracingStorageConverter" level="OFF" />
+    <logger name="org.apache.shardingsphere.elasticjob.tracing.rdb.storage.converter.RDBTracingStorageConfigurationConverter" level="OFF" />
 </configuration>
diff --git a/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/dataflow/JavaDataflowJob.java b/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/dataflow/JavaDataflowJob.java
index 08f20d187..a2ff3209f 100644
--- a/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/dataflow/JavaDataflowJob.java
+++ b/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/dataflow/JavaDataflowJob.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.example.job.dataflow;
 
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.apache.shardingsphere.elasticjob.dataflow.job.DataflowJob;
 import org.apache.shardingsphere.elasticjob.example.fixture.entity.Foo;
 import org.apache.shardingsphere.elasticjob.example.fixture.repository.FooRepository;
diff --git a/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/dataflow/SpringDataflowJob.java b/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/dataflow/SpringDataflowJob.java
index e6c01aa5e..9cc3e2c2c 100644
--- a/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/dataflow/SpringDataflowJob.java
+++ b/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/dataflow/SpringDataflowJob.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.example.job.dataflow;
 
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.apache.shardingsphere.elasticjob.dataflow.job.DataflowJob;
 import org.apache.shardingsphere.elasticjob.example.fixture.entity.Foo;
 import org.apache.shardingsphere.elasticjob.example.fixture.repository.FooRepository;
diff --git a/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/simple/JavaOccurErrorJob.java b/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/simple/JavaOccurErrorJob.java
index 3bc494e70..a9cf55ad0 100644
--- a/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/simple/JavaOccurErrorJob.java
+++ b/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/simple/JavaOccurErrorJob.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.example.job.simple;
 
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
 
 public final class JavaOccurErrorJob implements SimpleJob {
diff --git a/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/simple/JavaSimpleJob.java b/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/simple/JavaSimpleJob.java
index 5310c7d6e..90d7690ea 100644
--- a/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/simple/JavaSimpleJob.java
+++ b/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/simple/JavaSimpleJob.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.example.job.simple;
 
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
 import org.apache.shardingsphere.elasticjob.example.fixture.entity.Foo;
 import org.apache.shardingsphere.elasticjob.example.fixture.repository.FooRepository;
diff --git a/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/simple/SpringSimpleJob.java b/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/simple/SpringSimpleJob.java
index bf2ccaae8..3f2e4ee18 100644
--- a/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/simple/SpringSimpleJob.java
+++ b/examples/elasticjob-example-jobs/src/main/java/org/apache/shardingsphere/elasticjob/example/job/simple/SpringSimpleJob.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.example.job.simple;
 
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
 import org.apache.shardingsphere.elasticjob.example.fixture.entity.Foo;
 import org.apache.shardingsphere.elasticjob.example.fixture.repository.FooRepository;
diff --git a/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootDataflowJob.java b/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootDataflowJob.java
index c0eee4582..32baef85a 100644
--- a/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootDataflowJob.java
+++ b/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootDataflowJob.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.example.job;
 
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.apache.shardingsphere.elasticjob.dataflow.job.DataflowJob;
 import org.apache.shardingsphere.elasticjob.example.entity.Foo;
 import org.apache.shardingsphere.elasticjob.example.repository.FooRepository;
diff --git a/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootOccurErrorNoticeDingtalkJob.java b/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootOccurErrorNoticeDingtalkJob.java
index a261595d4..ad38263bf 100644
--- a/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootOccurErrorNoticeDingtalkJob.java
+++ b/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootOccurErrorNoticeDingtalkJob.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.example.job;
 
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
 import org.springframework.stereotype.Component;
 
diff --git a/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootOccurErrorNoticeEmailJob.java b/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootOccurErrorNoticeEmailJob.java
index f6b31f445..42e3bf415 100644
--- a/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootOccurErrorNoticeEmailJob.java
+++ b/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootOccurErrorNoticeEmailJob.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.example.job;
 
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
 import org.springframework.stereotype.Component;
 
diff --git a/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootOccurErrorNoticeWechatJob.java b/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootOccurErrorNoticeWechatJob.java
index f11efc934..1e605122a 100644
--- a/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootOccurErrorNoticeWechatJob.java
+++ b/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootOccurErrorNoticeWechatJob.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.example.job;
 
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
 import org.springframework.stereotype.Component;
 
diff --git a/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootSimpleJob.java b/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootSimpleJob.java
index 13e6a8bc5..caf18bcfd 100644
--- a/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootSimpleJob.java
+++ b/examples/elasticjob-example-springboot/src/main/java/org/apache/shardingsphere/elasticjob/example/job/SpringBootSimpleJob.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.example.job;
 
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.apache.shardingsphere.elasticjob.example.entity.Foo;
 import org.apache.shardingsphere.elasticjob.example.repository.FooRepository;
 import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/ElasticJobExecutor.java b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/ElasticJobExecutor.java
index aa2dbc43f..c6623896d 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/ElasticJobExecutor.java
+++ b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/ElasticJobExecutor.java
@@ -20,20 +20,20 @@ package org.apache.shardingsphere.elasticjob.kernel.executor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.elasticjob.api.ElasticJob;
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler;
 import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerReloader;
 import org.apache.shardingsphere.elasticjob.kernel.executor.facade.JobFacade;
-import org.apache.shardingsphere.elasticjob.spi.executor.JobItemExecutor;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.JobItemExecutor;
 import org.apache.shardingsphere.elasticjob.kernel.executor.item.JobItemExecutorFactory;
-import org.apache.shardingsphere.elasticjob.spi.executor.type.TypedJobItemExecutor;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.type.TypedJobItemExecutor;
 import org.apache.shardingsphere.elasticjob.kernel.executor.threadpool.ExecutorServiceReloader;
 import org.apache.shardingsphere.elasticjob.kernel.infra.env.IpUtils;
 import org.apache.shardingsphere.elasticjob.kernel.infra.exception.ExceptionUtils;
 import org.apache.shardingsphere.elasticjob.kernel.infra.exception.JobExecutionEnvironmentException;
 import org.apache.shardingsphere.elasticjob.spi.listener.param.ShardingContexts;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobExecutionEvent;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobExecutionEvent.ExecutionSource;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobStatusTraceEvent.State;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobExecutionEvent;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobExecutionEvent.ExecutionSource;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobStatusTraceEvent.State;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 
 import java.util.Collection;
@@ -52,6 +52,7 @@ public final class ElasticJobExecutor {
     
     private final JobFacade jobFacade;
     
+    @SuppressWarnings("rawtypes")
     private final JobItemExecutor jobItemExecutor;
     
     private final ExecutorServiceReloader executorServiceReloader;
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/JobErrorHandlerReloader.java b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/JobErrorHandlerReloader.java
index dd925cd31..ec9e546a0 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/JobErrorHandlerReloader.java
+++ b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/JobErrorHandlerReloader.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.elasticjob.kernel.executor.error.handler;
 
 import lombok.Getter;
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 
 import java.io.Closeable;
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/facade/JobFacade.java b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/facade/JobFacade.java
index 98f93e8b0..7c6eaf040 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/facade/JobFacade.java
+++ b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/facade/JobFacade.java
@@ -30,12 +30,12 @@ import org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ExecutionCo
 import org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ExecutionService;
 import org.apache.shardingsphere.elasticjob.kernel.internal.sharding.ShardingService;
 import org.apache.shardingsphere.elasticjob.reg.base.CoordinatorRegistryCenter;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.JobRuntimeService;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.JobRuntimeService;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobTracingEventBus;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.config.TracingConfiguration;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobExecutionEvent;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobStatusTraceEvent;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobStatusTraceEvent.State;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobExecutionEvent;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobStatusTraceEvent;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobStatusTraceEvent.State;
 
 import java.util.Collection;
 import java.util.Comparator;
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/facade/JobJobRuntimeServiceImpl.java b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/facade/JobJobRuntimeServiceImpl.java
index 881c904f1..952ac3bff 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/facade/JobJobRuntimeServiceImpl.java
+++ b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/facade/JobJobRuntimeServiceImpl.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.kernel.executor.facade;
 
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.JobRuntimeService;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.JobRuntimeService;
 
 /**
  * Job runtime service implementation.
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/item/JobItemExecutorFactory.java b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/item/JobItemExecutorFactory.java
index b5db62cd3..f28def299 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/item/JobItemExecutorFactory.java
+++ b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/executor/item/JobItemExecutorFactory.java
@@ -20,8 +20,8 @@ package org.apache.shardingsphere.elasticjob.kernel.executor.item;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.elasticjob.api.ElasticJob;
-import org.apache.shardingsphere.elasticjob.spi.executor.JobItemExecutor;
-import org.apache.shardingsphere.elasticjob.spi.executor.type.ClassedJobItemExecutor;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.JobItemExecutor;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor;
 import org.apache.shardingsphere.elasticjob.kernel.infra.exception.JobConfigurationException;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
 
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/config/JobConfigurationPOJO.java b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/config/JobConfigurationPOJO.java
index 1d9a91241..9d5ca39c9 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/config/JobConfigurationPOJO.java
+++ b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/config/JobConfigurationPOJO.java
@@ -21,8 +21,8 @@ import lombok.Getter;
 import lombok.Setter;
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
 import org.apache.shardingsphere.elasticjob.api.JobExtraConfiguration;
-import org.apache.shardingsphere.elasticjob.kernel.infra.yaml.config.YamlConfiguration;
-import org.apache.shardingsphere.elasticjob.kernel.infra.yaml.config.YamlConfigurationConverter;
+import org.apache.shardingsphere.elasticjob.spi.yaml.YamlConfiguration;
+import org.apache.shardingsphere.elasticjob.spi.yaml.YamlConfigurationConverter;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 
 import java.util.ArrayList;
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/context/TaskContext.java b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/context/TaskContext.java
index 391bcaccf..a827dccf3 100755
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/context/TaskContext.java
+++ b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/context/TaskContext.java
@@ -24,7 +24,7 @@ import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import lombok.Setter;
 import lombok.ToString;
-import org.apache.shardingsphere.elasticjob.kernel.executor.ExecutionType;
+import org.apache.shardingsphere.elasticjob.spi.executor.ExecutionType;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/schedule/JobScheduler.java b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/schedule/JobScheduler.java
index e49e63bf2..0311b6fc6 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/schedule/JobScheduler.java
+++ b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/internal/schedule/JobScheduler.java
@@ -22,7 +22,7 @@ import com.google.common.base.Strings;
 import lombok.Getter;
 import org.apache.shardingsphere.elasticjob.api.ElasticJob;
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandlerPropertiesValidator;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandlerPropertiesValidator;
 import org.apache.shardingsphere.elasticjob.kernel.executor.ElasticJobExecutor;
 import org.apache.shardingsphere.elasticjob.kernel.infra.exception.JobSystemException;
 import org.apache.shardingsphere.elasticjob.kernel.executor.facade.JobFacade;
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/config/TracingConfiguration.java b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/config/TracingConfiguration.java
index c700c470d..6f993db14 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/config/TracingConfiguration.java
+++ b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/config/TracingConfiguration.java
@@ -21,6 +21,7 @@ import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.elasticjob.api.JobExtraConfiguration;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.storage.TracingStorageConverterFactory;
+import org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfiguration;
 import org.apache.shardingsphere.infra.spi.exception.ServiceProviderNotFoundException;
 
 /**
@@ -40,6 +41,6 @@ public final class TracingConfiguration<T> implements JobExtraConfiguration {
     public TracingConfiguration(final String type, final T storage) {
         this.type = type;
         tracingStorageConfiguration = TracingStorageConverterFactory.findConverter((Class<T>) storage.getClass())
-                .orElseThrow(() -> new ServiceProviderNotFoundException(storage.getClass(), storage.getClass().getSimpleName())).convertToConfiguration(storage);
+                .orElseThrow(() -> new ServiceProviderNotFoundException(storage.getClass(), storage.getClass().getSimpleName())).toConfiguration(storage);
     }
 }
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobTracingEventBus.java b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobTracingEventBus.java
index 6dbd31789..86128eaf9 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobTracingEventBus.java
+++ b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobTracingEventBus.java
@@ -23,8 +23,9 @@ import com.google.common.util.concurrent.MoreExecutors;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.concurrent.BasicThreadFactory;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.config.TracingConfiguration;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.exception.TracingConfigurationException;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.listener.TracingListenerFactory;
+import org.apache.shardingsphere.elasticjob.spi.tracing.exception.TracingConfigurationException;
+import org.apache.shardingsphere.elasticjob.spi.tracing.listener.TracingListenerFactory;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobEvent;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 
 import java.util.concurrent.ExecutorService;
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/storage/TracingStorageConverterFactory.java b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/storage/TracingStorageConverterFactory.java
index 674a4e6d2..0fc466e15 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/storage/TracingStorageConverterFactory.java
+++ b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/storage/TracingStorageConverterFactory.java
@@ -19,26 +19,27 @@ package org.apache.shardingsphere.elasticjob.kernel.tracing.storage;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfigurationConverter;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
 
 import java.util.Optional;
 
 /**
- * Factory for {@link TracingStorageConverter}.
+ * Factory for {@link TracingStorageConfigurationConverter}.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class TracingStorageConverterFactory {
     
     /**
-     * Find {@link TracingStorageConverter} for specific storage type.
+     * Find {@link TracingStorageConfigurationConverter} for specific storage type.
      *
      * @param storageType storage type
      * @param <T> storage type
-     * @return instance of {@link TracingStorageConverter}
+     * @return instance of {@link TracingStorageConfigurationConverter}
      */
     @SuppressWarnings("unchecked")
-    public static <T> Optional<TracingStorageConverter<T>> findConverter(final Class<T> storageType) {
-        return ShardingSphereServiceLoader.getServiceInstances(TracingStorageConverter.class).stream()
-                .filter(each -> each.storageType().isAssignableFrom(storageType)).map(each -> (TracingStorageConverter<T>) each).findFirst();
+    public static <T> Optional<TracingStorageConfigurationConverter<T>> findConverter(final Class<T> storageType) {
+        return ShardingSphereServiceLoader.getServiceInstances(TracingStorageConfigurationConverter.class).stream()
+                .filter(each -> each.storageType().isAssignableFrom(storageType)).map(each -> (TracingStorageConfigurationConverter<T>) each).findFirst();
     }
 }
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlTracingConfiguration.java b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlTracingConfiguration.java
index bd1985b4b..1990d004d 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlTracingConfiguration.java
+++ b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlTracingConfiguration.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.elasticjob.kernel.tracing.yaml;
 
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.shardingsphere.elasticjob.kernel.infra.yaml.config.YamlConfiguration;
+import org.apache.shardingsphere.elasticjob.spi.yaml.YamlConfiguration;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.config.TracingConfiguration;
 
 /**
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlTracingConfigurationConverter.java b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlTracingConfigurationConverter.java
index 989f99eec..e91fdb87a 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlTracingConfigurationConverter.java
+++ b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlTracingConfigurationConverter.java
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.elasticjob.kernel.tracing.yaml;
 
-import org.apache.shardingsphere.elasticjob.kernel.infra.yaml.config.YamlConfigurationConverter;
+import org.apache.shardingsphere.elasticjob.spi.yaml.YamlConfigurationConverter;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.config.TracingConfiguration;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.config.TracingStorageConfiguration;
+import org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfiguration;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 
 /**
diff --git a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlTracingStorageConfiguration.java b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlTracingStorageConfiguration.java
index c3201e6d5..ceeb33a58 100644
--- a/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlTracingStorageConfiguration.java
+++ b/kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlTracingStorageConfiguration.java
@@ -17,8 +17,8 @@
 
 package org.apache.shardingsphere.elasticjob.kernel.tracing.yaml;
 
-import org.apache.shardingsphere.elasticjob.kernel.infra.yaml.config.YamlConfiguration;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.config.TracingStorageConfiguration;
+import org.apache.shardingsphere.elasticjob.spi.yaml.YamlConfiguration;
+import org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfiguration;
 
 /**
  * YAML configuration for {@link TracingStorageConfiguration}.
diff --git a/kernel/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.infra.yaml.config.YamlConfigurationConverter b/kernel/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.yaml.YamlConfigurationConverter
similarity index 100%
rename from kernel/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.infra.yaml.config.YamlConfigurationConverter
rename to kernel/src/main/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.yaml.YamlConfigurationConverter
diff --git a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/ElasticJobExecutorTest.java b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/ElasticJobExecutorTest.java
index 5f44299d2..220ae2df9 100644
--- a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/ElasticJobExecutorTest.java
+++ b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/ElasticJobExecutorTest.java
@@ -23,8 +23,8 @@ import org.apache.shardingsphere.elasticjob.kernel.fixture.executor.ClassedFooJo
 import org.apache.shardingsphere.elasticjob.kernel.fixture.job.FooJob;
 import org.apache.shardingsphere.elasticjob.kernel.infra.exception.JobExecutionEnvironmentException;
 import org.apache.shardingsphere.elasticjob.kernel.infra.exception.JobSystemException;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobStatusTraceEvent.State;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.JobRuntimeService;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobStatusTraceEvent.State;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.JobRuntimeService;
 import org.apache.shardingsphere.elasticjob.spi.listener.param.ShardingContexts;
 import org.apache.shardingsphere.elasticjob.test.util.ReflectionUtils;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/JobErrorHandlerReloaderTest.java b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/JobErrorHandlerReloaderTest.java
index 2cba36ca3..8956e5a02 100644
--- a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/JobErrorHandlerReloaderTest.java
+++ b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/JobErrorHandlerReloaderTest.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.elasticjob.kernel.executor.error.handler;
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
 import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.fixture.BarJobErrorHandlerFixture;
 import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.fixture.FooJobErrorHandlerFixture;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler;
 import org.apache.shardingsphere.elasticjob.test.util.ReflectionUtils;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
diff --git a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/fixture/BarJobErrorHandlerFixture.java b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/fixture/BarJobErrorHandlerFixture.java
index 360da8848..f3269d08b 100644
--- a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/fixture/BarJobErrorHandlerFixture.java
+++ b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/fixture/BarJobErrorHandlerFixture.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.fixture;
 
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler;
 
 public final class BarJobErrorHandlerFixture implements JobErrorHandler {
     
diff --git a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/fixture/FooJobErrorHandlerFixture.java b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/fixture/FooJobErrorHandlerFixture.java
index 324306fea..2ce50e563 100644
--- a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/fixture/FooJobErrorHandlerFixture.java
+++ b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/executor/error/handler/fixture/FooJobErrorHandlerFixture.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.fixture;
 
 import org.apache.shardingsphere.elasticjob.kernel.infra.exception.JobSystemException;
-import org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler;
+import org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler;
 
 public final class FooJobErrorHandlerFixture implements JobErrorHandler {
     
diff --git a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/executor/ClassedFooJobExecutor.java b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/executor/ClassedFooJobExecutor.java
index fbe294734..95be8fb15 100644
--- a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/executor/ClassedFooJobExecutor.java
+++ b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/executor/ClassedFooJobExecutor.java
@@ -18,9 +18,9 @@
 package org.apache.shardingsphere.elasticjob.kernel.fixture.executor;
 
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.JobRuntimeService;
-import org.apache.shardingsphere.elasticjob.spi.executor.type.ClassedJobItemExecutor;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.JobRuntimeService;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor;
 import org.apache.shardingsphere.elasticjob.kernel.fixture.job.FooJob;
 
 public final class ClassedFooJobExecutor implements ClassedJobItemExecutor<FooJob> {
diff --git a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/executor/TypedFooJobExecutor.java b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/executor/TypedFooJobExecutor.java
index 52fbcd893..fd7b717fc 100644
--- a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/executor/TypedFooJobExecutor.java
+++ b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/executor/TypedFooJobExecutor.java
@@ -19,9 +19,9 @@ package org.apache.shardingsphere.elasticjob.kernel.fixture.executor;
 
 import org.apache.shardingsphere.elasticjob.api.ElasticJob;
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.JobRuntimeService;
-import org.apache.shardingsphere.elasticjob.spi.executor.type.TypedJobItemExecutor;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.JobRuntimeService;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.type.TypedJobItemExecutor;
 
 public final class TypedFooJobExecutor implements TypedJobItemExecutor {
     
diff --git a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/job/DetailedFooJob.java b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/job/DetailedFooJob.java
index 2a9467319..b4e33468d 100644
--- a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/job/DetailedFooJob.java
+++ b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/job/DetailedFooJob.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.kernel.fixture.job;
 
 import lombok.Getter;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 
 import java.util.Collection;
 import java.util.concurrent.CopyOnWriteArraySet;
diff --git a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/job/FooJob.java b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/job/FooJob.java
index f11491294..10ec9232b 100644
--- a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/job/FooJob.java
+++ b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/fixture/job/FooJob.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.kernel.fixture.job;
 
 import org.apache.shardingsphere.elasticjob.api.ElasticJob;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 
 public interface FooJob extends ElasticJob {
     
diff --git a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/context/TaskContextTest.java b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/context/TaskContextTest.java
index 5c9edf864..0192f72b6 100644
--- a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/context/TaskContextTest.java
+++ b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/context/TaskContextTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.kernel.internal.context;
 
-import org.apache.shardingsphere.elasticjob.kernel.executor.ExecutionType;
+import org.apache.shardingsphere.elasticjob.spi.executor.ExecutionType;
 import org.apache.shardingsphere.elasticjob.kernel.internal.context.TaskContext.MetaInfo;
 import org.apache.shardingsphere.elasticjob.kernel.internal.context.fixture.TaskNode;
 import org.hamcrest.CoreMatchers;
diff --git a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/context/fixture/TaskNode.java b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/context/fixture/TaskNode.java
index ae9b6383d..3c4bfadaf 100644
--- a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/context/fixture/TaskNode.java
+++ b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/internal/context/fixture/TaskNode.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.kernel.internal.context.fixture;
 
 import lombok.Builder;
-import org.apache.shardingsphere.elasticjob.kernel.executor.ExecutionType;
+import org.apache.shardingsphere.elasticjob.spi.executor.ExecutionType;
 
 @Builder
 public final class TaskNode {
diff --git a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobExecutionEventTest.java b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobExecutionEventTest.java
index b2cef1a45..22433ddd4 100644
--- a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobExecutionEventTest.java
+++ b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobExecutionEventTest.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.elasticjob.kernel.tracing.event;
 
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobExecutionEvent;
 import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.CoreMatchers.is;
diff --git a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobTracingEventBusTest.java b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobTracingEventBusTest.java
index 3387d530a..e0bc5a4f4 100644
--- a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobTracingEventBusTest.java
+++ b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/event/JobTracingEventBusTest.java
@@ -21,6 +21,8 @@ import com.google.common.eventbus.EventBus;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.config.TracingConfiguration;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.fixture.config.TracingStorageFixture;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.fixture.listener.TracingListenerFixture;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobEvent;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobExecutionEvent;
 import org.apache.shardingsphere.elasticjob.test.util.ReflectionUtils;
 import org.awaitility.Awaitility;
 import org.junit.jupiter.api.Test;
diff --git a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/config/TracingStorageConfigurationFixture.java b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/config/TracingStorageConfigurationFixture.java
index 95319dba1..0d0714181 100644
--- a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/config/TracingStorageConfigurationFixture.java
+++ b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/config/TracingStorageConfigurationFixture.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.elasticjob.kernel.tracing.fixture.config;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.config.TracingStorageConfiguration;
+import org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfiguration;
 
 @RequiredArgsConstructor
 @Getter
diff --git a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/config/TracingStorageFixtureConverter.java b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/config/TracingStorageFixtureConfigurationConverter.java
similarity index 71%
rename from kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/config/TracingStorageFixtureConverter.java
rename to kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/config/TracingStorageFixtureConfigurationConverter.java
index 308e66655..25134464e 100644
--- a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/config/TracingStorageFixtureConverter.java
+++ b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/config/TracingStorageFixtureConfigurationConverter.java
@@ -17,13 +17,13 @@
 
 package org.apache.shardingsphere.elasticjob.kernel.tracing.fixture.config;
 
-import org.apache.shardingsphere.elasticjob.kernel.tracing.config.TracingStorageConfiguration;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.storage.TracingStorageConverter;
+import org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfiguration;
+import org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfigurationConverter;
 
-public final class TracingStorageFixtureConverter implements TracingStorageConverter<TracingStorageFixture> {
+public final class TracingStorageFixtureConfigurationConverter implements TracingStorageConfigurationConverter<TracingStorageFixture> {
     
     @Override
-    public TracingStorageConfiguration<TracingStorageFixture> convertToConfiguration(final TracingStorageFixture storage) {
+    public TracingStorageConfiguration<TracingStorageFixture> toConfiguration(final TracingStorageFixture storage) {
         return new TracingStorageConfigurationFixture(storage);
     }
     
diff --git a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/listener/TracingListenerFixture.java b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/listener/TracingListenerFixture.java
index e92be453f..2ac4182a4 100644
--- a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/listener/TracingListenerFixture.java
+++ b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/listener/TracingListenerFixture.java
@@ -20,9 +20,9 @@ package org.apache.shardingsphere.elasticjob.kernel.tracing.fixture.listener;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.fixture.config.TracingStorageFixture;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.listener.TracingListener;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobExecutionEvent;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.event.JobStatusTraceEvent;
+import org.apache.shardingsphere.elasticjob.spi.tracing.listener.TracingListener;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobExecutionEvent;
+import org.apache.shardingsphere.elasticjob.spi.tracing.event.JobStatusTraceEvent;
 
 @RequiredArgsConstructor
 public final class TracingListenerFixture implements TracingListener {
diff --git a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/listener/TracingListenerFixtureFactory.java b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/listener/TracingListenerFixtureFactory.java
index c61c7250e..d2f7b5eb8 100644
--- a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/listener/TracingListenerFixtureFactory.java
+++ b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/fixture/listener/TracingListenerFixtureFactory.java
@@ -18,8 +18,8 @@
 package org.apache.shardingsphere.elasticjob.kernel.tracing.fixture.listener;
 
 import org.apache.shardingsphere.elasticjob.kernel.tracing.fixture.config.TracingStorageFixture;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.listener.TracingListenerFactory;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.listener.TracingListener;
+import org.apache.shardingsphere.elasticjob.spi.tracing.listener.TracingListenerFactory;
+import org.apache.shardingsphere.elasticjob.spi.tracing.listener.TracingListener;
 
 public final class TracingListenerFixtureFactory implements TracingListenerFactory<TracingStorageFixture> {
     
diff --git a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/storage/TracingStorageConverterFactoryTest.java b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/storage/TracingStorageConfigurationConverterFactoryTest.java
similarity index 96%
rename from kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/storage/TracingStorageConverterFactoryTest.java
rename to kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/storage/TracingStorageConfigurationConverterFactoryTest.java
index e3f7f7125..80d47d60a 100644
--- a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/storage/TracingStorageConverterFactoryTest.java
+++ b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/storage/TracingStorageConfigurationConverterFactoryTest.java
@@ -23,7 +23,7 @@ import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-class TracingStorageConverterFactoryTest {
+class TracingStorageConfigurationConverterFactoryTest {
     
     @Test
     void assertConverterExists() {
diff --git a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlJobEventCallerConfiguration.java b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlJobEventCallerConfiguration.java
index c5c850220..e82607267 100644
--- a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlJobEventCallerConfiguration.java
+++ b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlJobEventCallerConfiguration.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.elasticjob.kernel.tracing.yaml;
 
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.config.TracingStorageConfiguration;
+import org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfiguration;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.fixture.config.TracingStorageFixture;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.fixture.config.TracingStorageConfigurationFixture;
 
diff --git a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlJobEventCallerConfigurationConverter.java b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlJobEventCallerConfigurationConverter.java
index 011f938ff..84e9c5eb7 100644
--- a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlJobEventCallerConfigurationConverter.java
+++ b/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/tracing/yaml/YamlJobEventCallerConfigurationConverter.java
@@ -17,8 +17,8 @@
 
 package org.apache.shardingsphere.elasticjob.kernel.tracing.yaml;
 
-import org.apache.shardingsphere.elasticjob.kernel.infra.yaml.config.YamlConfigurationConverter;
-import org.apache.shardingsphere.elasticjob.kernel.tracing.config.TracingStorageConfiguration;
+import org.apache.shardingsphere.elasticjob.spi.yaml.YamlConfigurationConverter;
+import org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfiguration;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.fixture.config.TracingStorageFixture;
 import org.apache.shardingsphere.elasticjob.kernel.tracing.fixture.config.TracingStorageConfigurationFixture;
 
diff --git a/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler b/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler
similarity index 100%
rename from kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.executor.error.handler.JobErrorHandler
rename to kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.error.handler.JobErrorHandler
diff --git a/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.type.ClassedJobItemExecutor b/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor
similarity index 100%
rename from kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.type.ClassedJobItemExecutor
rename to kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor
diff --git a/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.type.TypedJobItemExecutor b/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.TypedJobItemExecutor
similarity index 100%
rename from kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.type.TypedJobItemExecutor
rename to kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.TypedJobItemExecutor
diff --git a/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.tracing.listener.TracingListenerFactory b/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.tracing.listener.TracingListenerFactory
similarity index 100%
rename from kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.tracing.listener.TracingListenerFactory
rename to kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.tracing.listener.TracingListenerFactory
diff --git a/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.tracing.storage.TracingStorageConverter b/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfigurationConverter
similarity index 94%
rename from kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.tracing.storage.TracingStorageConverter
rename to kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfigurationConverter
index 2e11a5dec..5e15aaaed 100644
--- a/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.tracing.storage.TracingStorageConverter
+++ b/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.tracing.storage.TracingStorageConfigurationConverter
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.elasticjob.kernel.tracing.fixture.config.TracingStorageFixtureConverter
+org.apache.shardingsphere.elasticjob.kernel.tracing.fixture.config.TracingStorageFixtureConfigurationConverter
diff --git a/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.infra.yaml.config.YamlConfigurationConverter b/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.yaml.YamlConfigurationConverter
similarity index 100%
rename from kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.kernel.infra.yaml.config.YamlConfigurationConverter
rename to kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.yaml.YamlConfigurationConverter
diff --git a/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/executor/CustomClassedJobExecutor.java b/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/executor/CustomClassedJobExecutor.java
index c3ea0c544..a323928da 100644
--- a/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/executor/CustomClassedJobExecutor.java
+++ b/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/executor/CustomClassedJobExecutor.java
@@ -18,9 +18,9 @@
 package org.apache.shardingsphere.elasticjob.spring.boot.job.executor;
 
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.JobRuntimeService;
-import org.apache.shardingsphere.elasticjob.spi.executor.type.ClassedJobItemExecutor;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.JobRuntimeService;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor;
 import org.apache.shardingsphere.elasticjob.spring.boot.job.fixture.job.CustomJob;
 
 public final class CustomClassedJobExecutor implements ClassedJobItemExecutor<CustomJob> {
diff --git a/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/executor/PrintJobExecutor.java b/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/executor/PrintJobExecutor.java
index 43f7d249c..6b826b4d1 100644
--- a/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/executor/PrintJobExecutor.java
+++ b/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/executor/PrintJobExecutor.java
@@ -20,9 +20,9 @@ package org.apache.shardingsphere.elasticjob.spring.boot.job.executor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.elasticjob.api.ElasticJob;
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.JobRuntimeService;
-import org.apache.shardingsphere.elasticjob.spi.executor.type.TypedJobItemExecutor;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.JobRuntimeService;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.type.TypedJobItemExecutor;
 
 @Slf4j
 public final class PrintJobExecutor implements TypedJobItemExecutor {
diff --git a/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/fixture/job/CustomJob.java b/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/fixture/job/CustomJob.java
index b3015cca8..a23fd7b8f 100644
--- a/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/fixture/job/CustomJob.java
+++ b/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/fixture/job/CustomJob.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.spring.boot.job.fixture.job;
 
 import org.apache.shardingsphere.elasticjob.api.ElasticJob;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 
 public interface CustomJob extends ElasticJob {
     
diff --git a/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/fixture/job/impl/AnnotationCustomJob.java b/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/fixture/job/impl/AnnotationCustomJob.java
index 7992abc35..6b6b81dd2 100644
--- a/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/fixture/job/impl/AnnotationCustomJob.java
+++ b/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/fixture/job/impl/AnnotationCustomJob.java
@@ -21,7 +21,7 @@ import lombok.Getter;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.elasticjob.annotation.ElasticJobConfiguration;
 import org.apache.shardingsphere.elasticjob.annotation.ElasticJobProp;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.apache.shardingsphere.elasticjob.spring.boot.job.fixture.job.CustomJob;
 import org.springframework.transaction.annotation.Transactional;
 
diff --git a/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/fixture/job/impl/CustomTestJob.java b/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/fixture/job/impl/CustomTestJob.java
index ebda24390..0ee8bcfa0 100644
--- a/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/fixture/job/impl/CustomTestJob.java
+++ b/spring/boot-starter/src/test/java/org/apache/shardingsphere/elasticjob/spring/boot/job/fixture/job/impl/CustomTestJob.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.spring.boot.job.fixture.job.impl;
 
 import lombok.extern.slf4j.Slf4j;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.apache.shardingsphere.elasticjob.spring.boot.job.fixture.job.CustomJob;
 import org.apache.shardingsphere.elasticjob.spring.boot.job.repository.BarRepository;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/spring/boot-starter/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.type.ClassedJobItemExecutor b/spring/boot-starter/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor
similarity index 100%
rename from spring/boot-starter/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.type.ClassedJobItemExecutor
rename to spring/boot-starter/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor
diff --git a/spring/boot-starter/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.type.TypedJobItemExecutor b/spring/boot-starter/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.TypedJobItemExecutor
similarity index 100%
rename from spring/boot-starter/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.type.TypedJobItemExecutor
rename to spring/boot-starter/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.TypedJobItemExecutor
diff --git a/spring/core/src/test/java/org/apache/shardingsphere/elasticjob/spring/core/util/TargetJob.java b/spring/core/src/test/java/org/apache/shardingsphere/elasticjob/spring/core/util/TargetJob.java
index 1b100c73b..14db9f6f5 100644
--- a/spring/core/src/test/java/org/apache/shardingsphere/elasticjob/spring/core/util/TargetJob.java
+++ b/spring/core/src/test/java/org/apache/shardingsphere/elasticjob/spring/core/util/TargetJob.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.spring.core.util;
 
 import org.apache.shardingsphere.elasticjob.api.ElasticJob;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 
 public class TargetJob implements ElasticJob {
     
diff --git a/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/DataflowElasticJob.java b/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/DataflowElasticJob.java
index dd2345f31..d24f77474 100644
--- a/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/DataflowElasticJob.java
+++ b/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/DataflowElasticJob.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.spring.namespace.fixture.job;
 
 import lombok.Getter;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.apache.shardingsphere.elasticjob.dataflow.job.DataflowJob;
 
 import java.util.Collections;
diff --git a/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/FooSimpleElasticJob.java b/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/FooSimpleElasticJob.java
index a2adbe133..e6d6cec6a 100644
--- a/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/FooSimpleElasticJob.java
+++ b/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/FooSimpleElasticJob.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.spring.namespace.fixture.job;
 
 import lombok.Getter;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
 
 public class FooSimpleElasticJob implements SimpleJob {
diff --git a/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/annotation/AnnotationSimpleJob.java b/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/annotation/AnnotationSimpleJob.java
index eb17cc274..b9b8c7281 100644
--- a/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/annotation/AnnotationSimpleJob.java
+++ b/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/annotation/AnnotationSimpleJob.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.elasticjob.spring.namespace.fixture.job.annota
 import lombok.Getter;
 import org.apache.shardingsphere.elasticjob.annotation.ElasticJobConfiguration;
 import org.apache.shardingsphere.elasticjob.annotation.ElasticJobProp;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
 
 @Getter
diff --git a/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/ref/RefFooDataflowElasticJob.java b/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/ref/RefFooDataflowElasticJob.java
index 2dfa99819..2d7518aa8 100644
--- a/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/ref/RefFooDataflowElasticJob.java
+++ b/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/ref/RefFooDataflowElasticJob.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.elasticjob.spring.namespace.fixture.job.ref;
 
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.apache.shardingsphere.elasticjob.dataflow.job.DataflowJob;
 import org.apache.shardingsphere.elasticjob.spring.namespace.fixture.service.FooService;
 
diff --git a/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/ref/RefFooSimpleElasticJob.java b/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/ref/RefFooSimpleElasticJob.java
index d65ddf577..bd037c9fa 100644
--- a/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/ref/RefFooSimpleElasticJob.java
+++ b/spring/namespace/src/test/java/org/apache/shardingsphere/elasticjob/spring/namespace/fixture/job/ref/RefFooSimpleElasticJob.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.elasticjob.spring.namespace.fixture.job.ref;
 
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
 import org.apache.shardingsphere.elasticjob.spring.namespace.fixture.service.FooService;
 
diff --git a/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/annotation/fixture/AnnotationSimpleJob.java b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/annotation/fixture/AnnotationSimpleJob.java
index babcc7c60..9ef84b84b 100644
--- a/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/annotation/fixture/AnnotationSimpleJob.java
+++ b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/annotation/fixture/AnnotationSimpleJob.java
@@ -21,7 +21,7 @@ import lombok.Getter;
 import org.apache.shardingsphere.elasticjob.annotation.ElasticJobConfiguration;
 import org.apache.shardingsphere.elasticjob.annotation.ElasticJobProp;
 import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 
 @ElasticJobConfiguration(
         jobName = "AnnotationSimpleJob",
diff --git a/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/annotation/fixture/AnnotationUnShardingJob.java b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/annotation/fixture/AnnotationUnShardingJob.java
index 0bd7def12..f376efc69 100644
--- a/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/annotation/fixture/AnnotationUnShardingJob.java
+++ b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/annotation/fixture/AnnotationUnShardingJob.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.elasticjob.test.e2e.annotation.fixture;
 import lombok.Getter;
 import org.apache.shardingsphere.elasticjob.annotation.ElasticJobConfiguration;
 import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 
 @ElasticJobConfiguration(jobName = "AnnotationUnShardingJob", description = "desc", shardingTotalCount = 1)
 @Getter
diff --git a/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/raw/fixture/executor/E2EFixtureJobExecutor.java b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/raw/fixture/executor/E2EFixtureJobExecutor.java
index ef5732995..e81af6fd1 100644
--- a/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/raw/fixture/executor/E2EFixtureJobExecutor.java
+++ b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/raw/fixture/executor/E2EFixtureJobExecutor.java
@@ -18,9 +18,9 @@
 package org.apache.shardingsphere.elasticjob.test.e2e.raw.fixture.executor;
 
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.JobRuntimeService;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
-import org.apache.shardingsphere.elasticjob.spi.executor.type.ClassedJobItemExecutor;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.JobRuntimeService;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor;
 import org.apache.shardingsphere.elasticjob.test.e2e.raw.fixture.job.E2EFixtureJob;
 
 public final class E2EFixtureJobExecutor implements ClassedJobItemExecutor<E2EFixtureJob> {
diff --git a/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/raw/fixture/job/E2EFixtureJob.java b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/raw/fixture/job/E2EFixtureJob.java
index 9b2aec429..118002b5c 100644
--- a/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/raw/fixture/job/E2EFixtureJob.java
+++ b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/raw/fixture/job/E2EFixtureJob.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.test.e2e.raw.fixture.job;
 
 import org.apache.shardingsphere.elasticjob.api.ElasticJob;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 
 public interface E2EFixtureJob extends ElasticJob {
     
diff --git a/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/raw/fixture/job/E2EFixtureJobImpl.java b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/raw/fixture/job/E2EFixtureJobImpl.java
index 8bfe65c7f..60ae346a1 100644
--- a/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/raw/fixture/job/E2EFixtureJobImpl.java
+++ b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/raw/fixture/job/E2EFixtureJobImpl.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.elasticjob.test.e2e.raw.fixture.job;
 
 import lombok.Getter;
-import org.apache.shardingsphere.elasticjob.spi.executor.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.executor.item.param.ShardingContext;
 
 import java.util.Collection;
 import java.util.concurrent.CopyOnWriteArraySet;
diff --git a/test/e2e/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.type.ClassedJobItemExecutor b/test/e2e/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor
similarity index 100%
rename from test/e2e/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.type.ClassedJobItemExecutor
rename to test/e2e/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.executor.item.type.ClassedJobItemExecutor