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

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


The following commit(s) were added to refs/heads/master by this push:
     new 4eefc09d90b Rename PluginBootService to PluginLifecycleService (#23396)
4eefc09d90b is described below

commit 4eefc09d90bd2f5ca7de4c7fd0f19a48114d3166
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Jan 7 22:57:19 2023 +0800

    Rename PluginBootService to PluginLifecycleService (#23396)
    
    * Refactor PluginBootServiceManager
    
    * Refactor PluginLifecycleServiceManager
    
    * Refactor PluginLifecycleServiceManager
    
    * Rename PluginBootService to PluginLifecycleService
---
 agent/README.md                                    |  4 +-
 ...ootService.java => PluginLifecycleService.java} |  6 +--
 .../agent/core/builder/AgentTransformer.java       | 18 ++-----
 .../core/builder/{ => advisor}/AdviceFactory.java  |  2 +-
 .../core/builder/{ => advisor}/MethodAdvisor.java  |  2 +-
 .../{ => advisor}/MethodAdvisorBuilder.java        |  2 +-
 ...ger.java => PluginLifecycleServiceManager.java} | 44 +++++++++-------
 ...java => FileLoggingPluginLifecycleService.java} |  6 +--
 ...hardingsphere.agent.spi.PluginLifecycleService} |  2 +-
 ....java => PrometheusPluginLifecycleService.java} |  6 +--
 ...hardingsphere.agent.spi.PluginLifecycleService} |  2 +-
 ...a => PrometheusPluginLifecycleServiceTest.java} |  8 +--
 ...va => JaegerTracingPluginLifecycleService.java} |  6 +--
 ...hardingsphere.agent.spi.PluginLifecycleService} |  2 +-
 ...> JaegerTracingPluginLifecycleServiceTest.java} |  8 +--
 ...penTelemetryTracingPluginLifecycleService.java} |  7 ++-
 ...hardingsphere.agent.spi.PluginLifecycleService} |  2 +-
 ...elemetryTracingPluginLifecycleServiceTest.java} | 18 +++----
 ...java => OpenTracingPluginLifecycleService.java} |  6 +--
 ...hardingsphere.agent.spi.PluginLifecycleService} |  2 +-
 ... => OpenTracingPluginLifecycleServiceTest.java} |  8 +--
 ...va => ZipkinTracingPluginLifecycleService.java} |  6 +--
 ...hardingsphere.agent.spi.PluginLifecycleService} |  2 +-
 ...> ZipkinTracingPluginLifecycleServiceTest.java} | 10 ++--
 docs/document/content/dev-manual/agent.cn.md       | 22 ++++----
 docs/document/content/dev-manual/agent.en.md       | 22 ++++----
 docs/document/content/dev-manual/sharding.cn.md    | 60 +++++++++++-----------
 docs/document/content/dev-manual/sharding.en.md    |  6 +--
 28 files changed, 145 insertions(+), 144 deletions(-)

diff --git a/agent/README.md b/agent/README.md
index dbdd1b048c2..3e76f5ca01a 100644
--- a/agent/README.md
+++ b/agent/README.md
@@ -57,9 +57,9 @@ java 
-javaagent:/xx/xx/shardingsphere-agent-{latest.release.version}.jar -jar pr
 * `lib` contains dependencies common to plugins.
 * `plugins` contains all plugins.
 
-### Extend via SPI PluginBootService
+### Extend via SPI PluginLifecycleService
 
-`PluginBootService` is the plugin service definition interface, used to start 
the plugin service.
+`PluginLifecycleService` is the plugin service definition interface, used to 
start the plugin service.
 Custom plugins need to implement this interface.
 
 ### Configure advisors.yaml
diff --git 
a/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PluginBootService.java
 
b/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PluginLifecycleService.java
similarity index 87%
rename from 
agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PluginBootService.java
rename to 
agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PluginLifecycleService.java
index 8d2f4f74225..aae6c0acfa9 100644
--- 
a/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PluginBootService.java
+++ 
b/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PluginLifecycleService.java
@@ -20,12 +20,12 @@ package org.apache.shardingsphere.agent.spi;
 import org.apache.shardingsphere.agent.api.PluginConfiguration;
 
 /**
- * Plugin boot service that the lifecycle is from the agent start to shutdown.
+ * Plugin lifecycle service.
  */
-public interface PluginBootService extends AutoCloseable {
+public interface PluginLifecycleService extends AutoCloseable {
     
     /**
-     * Start plugin boot service.
+     * Start plugin.
      *
      * @param pluginConfig plugin configuration
      * @param isEnhancedForProxy is enhanced for proxy
diff --git 
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/AgentTransformer.java
 
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/AgentTransformer.java
index 9f555d9f029..7099231d96d 100644
--- 
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/AgentTransformer.java
+++ 
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/AgentTransformer.java
@@ -24,16 +24,17 @@ import net.bytebuddy.dynamic.DynamicType.Builder;
 import net.bytebuddy.implementation.FieldAccessor;
 import net.bytebuddy.jar.asm.Opcodes;
 import net.bytebuddy.utility.JavaModule;
+import org.apache.shardingsphere.agent.api.PluginConfiguration;
 import org.apache.shardingsphere.agent.api.advice.TargetAdviceObject;
+import org.apache.shardingsphere.agent.core.builder.advisor.AdviceFactory;
+import 
org.apache.shardingsphere.agent.core.builder.advisor.MethodAdvisorBuilder;
 import org.apache.shardingsphere.agent.core.classloader.ClassLoaderContext;
-import org.apache.shardingsphere.agent.core.plugin.PluginBootServiceManager;
 import org.apache.shardingsphere.agent.core.plugin.PluginJar;
+import 
org.apache.shardingsphere.agent.core.plugin.PluginLifecycleServiceManager;
 import 
org.apache.shardingsphere.agent.core.plugin.advisor.AdvisorConfiguration;
-import org.apache.shardingsphere.agent.api.PluginConfiguration;
 
 import java.util.Collection;
 import java.util.Map;
-import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
  * Agent transformer.
@@ -43,8 +44,6 @@ public final class AgentTransformer implements Transformer {
     
     private static final String EXTRA_DATA = "_$EXTRA_DATA$_";
     
-    private static final AtomicBoolean STARTED_FLAG = new AtomicBoolean(false);
-    
     private final Map<String, PluginConfiguration> pluginConfigs;
     
     private final Collection<PluginJar> pluginJars;
@@ -60,16 +59,9 @@ public final class AgentTransformer implements Transformer {
             return builder;
         }
         ClassLoaderContext classLoaderContext = new 
ClassLoaderContext(classLoader, pluginJars);
-        startAllServices(classLoaderContext.getAgentClassLoader());
+        PluginLifecycleServiceManager.init(pluginConfigs, pluginJars, 
classLoaderContext.getAgentClassLoader(), isEnhancedForProxy);
         Builder<?> targetAdviceObjectBuilder = builder.defineField(EXTRA_DATA,
                 Object.class, Opcodes.ACC_PRIVATE | 
Opcodes.ACC_VOLATILE).implement(TargetAdviceObject.class).intercept(FieldAccessor.ofField(EXTRA_DATA));
         return new MethodAdvisorBuilder(new AdviceFactory(classLoaderContext), 
advisorConfigs.get(typeDescription.getTypeName()), 
typeDescription).build(targetAdviceObjectBuilder);
     }
-    
-    private void startAllServices(final ClassLoader agentClassLoader) {
-        if (STARTED_FLAG.compareAndSet(false, true)) {
-            PluginBootServiceManager.startAllServices(pluginConfigs, 
agentClassLoader, isEnhancedForProxy);
-            Runtime.getRuntime().addShutdownHook(new Thread(() -> 
PluginBootServiceManager.closeAllServices(pluginJars)));
-        }
-    }
 }
diff --git 
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/AdviceFactory.java
 
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/advisor/AdviceFactory.java
similarity index 97%
rename from 
agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/AdviceFactory.java
rename to 
agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/advisor/AdviceFactory.java
index f893100fa0c..2f109257ffc 100644
--- 
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/AdviceFactory.java
+++ 
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/advisor/AdviceFactory.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.builder;
+package org.apache.shardingsphere.agent.core.builder.advisor;
 
 import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
diff --git 
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/MethodAdvisor.java
 
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/advisor/MethodAdvisor.java
similarity index 95%
rename from 
agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/MethodAdvisor.java
rename to 
agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/advisor/MethodAdvisor.java
index 53f6525d85b..f146b1abf87 100644
--- 
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/MethodAdvisor.java
+++ 
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/advisor/MethodAdvisor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.builder;
+package org.apache.shardingsphere.agent.core.builder.advisor;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
diff --git 
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/MethodAdvisorBuilder.java
 
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/advisor/MethodAdvisorBuilder.java
similarity index 98%
rename from 
agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/MethodAdvisorBuilder.java
rename to 
agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/advisor/MethodAdvisorBuilder.java
index cb346051811..db48bdbf680 100644
--- 
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/MethodAdvisorBuilder.java
+++ 
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/builder/advisor/MethodAdvisorBuilder.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.builder;
+package org.apache.shardingsphere.agent.core.builder.advisor;
 
 import lombok.RequiredArgsConstructor;
 import net.bytebuddy.description.method.MethodDescription.InDefinedShape;
diff --git 
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginBootServiceManager.java
 
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginLifecycleServiceManager.java
similarity index 63%
rename from 
agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginBootServiceManager.java
rename to 
agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginLifecycleServiceManager.java
index 80ddeafb03e..2dc5e1bb0a7 100644
--- 
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginBootServiceManager.java
+++ 
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginLifecycleServiceManager.java
@@ -23,45 +23,56 @@ import 
org.apache.shardingsphere.agent.api.PluginConfiguration;
 import org.apache.shardingsphere.agent.core.log.LoggerFactory;
 import org.apache.shardingsphere.agent.core.log.LoggerFactory.Logger;
 import org.apache.shardingsphere.agent.core.spi.AgentServiceLoader;
-import org.apache.shardingsphere.agent.spi.PluginBootService;
+import org.apache.shardingsphere.agent.spi.PluginLifecycleService;
 
 import java.io.IOException;
 import java.util.Collection;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
- * Plugin boot service manager.
+ * Plugin lifecycle service manager.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class PluginBootServiceManager {
+public final class PluginLifecycleServiceManager {
     
-    private static final Logger LOGGER = 
LoggerFactory.getLogger(PluginBootServiceManager.class);
+    private static final AtomicBoolean STARTED_FLAG = new AtomicBoolean(false);
+    
+    private static final Logger LOGGER = 
LoggerFactory.getLogger(PluginLifecycleServiceManager.class);
     
     /**
-     * Start all services.
-     *
+     * Initialize all plugins.
+     * 
      * @param pluginConfigs plugin configuration map
+     * @param pluginJars plugin jars
      * @param agentClassLoader agent class loader
      * @param isEnhancedForProxy is enhanced for proxy
      */
-    public static void startAllServices(final Map<String, PluginConfiguration> 
pluginConfigs, final ClassLoader agentClassLoader, final boolean 
isEnhancedForProxy) {
+    public static void init(final Map<String, PluginConfiguration> 
pluginConfigs, final Collection<PluginJar> pluginJars, final ClassLoader 
agentClassLoader, final boolean isEnhancedForProxy) {
+        if (STARTED_FLAG.compareAndSet(false, true)) {
+            PluginLifecycleServiceManager.start(pluginConfigs, 
agentClassLoader, isEnhancedForProxy);
+            Runtime.getRuntime().addShutdownHook(new Thread(() -> 
PluginLifecycleServiceManager.close(pluginJars)));
+        }
+    }
+    
+    private static void start(final Map<String, PluginConfiguration> 
pluginConfigs, final ClassLoader agentClassLoader, final boolean 
isEnhancedForProxy) {
         ClassLoader originalClassLoader = 
Thread.currentThread().getContextClassLoader();
         try {
             Thread.currentThread().setContextClassLoader(agentClassLoader);
             for (Entry<String, PluginConfiguration> entry : 
pluginConfigs.entrySet()) {
-                
AgentServiceLoader.getServiceLoader(PluginBootService.class).getServices()
-                        .stream().filter(each -> 
each.getType().equalsIgnoreCase(entry.getKey())).findFirst().ifPresent(optional 
-> startService(entry.getValue(), optional, isEnhancedForProxy));
+                
AgentServiceLoader.getServiceLoader(PluginLifecycleService.class).getServices()
+                        .stream().filter(each -> 
each.getType().equalsIgnoreCase(entry.getKey())).findFirst().ifPresent(optional 
-> start(entry.getValue(), optional, isEnhancedForProxy));
             }
         } finally {
             Thread.currentThread().setContextClassLoader(originalClassLoader);
         }
     }
     
-    private static void startService(final PluginConfiguration pluginConfig, 
final PluginBootService pluginBootService, final boolean isEnhancedForProxy) {
+    private static void start(final PluginConfiguration pluginConfig, final 
PluginLifecycleService pluginLifecycleService, final boolean 
isEnhancedForProxy) {
         try {
-            LOGGER.info("Start plugin: {}", pluginBootService.getType());
-            pluginBootService.start(pluginConfig, isEnhancedForProxy);
+            LOGGER.info("Start plugin: {}", pluginLifecycleService.getType());
+            pluginLifecycleService.start(pluginConfig, isEnhancedForProxy);
             // CHECKSTYLE:OFF
         } catch (final Throwable ex) {
             // CHECKSTYLE:ON
@@ -69,13 +80,8 @@ public final class PluginBootServiceManager {
         }
     }
     
-    /**
-     * Close all services.
-     * 
-     * @param pluginJars plugin jars
-     */
-    public static void closeAllServices(final Collection<PluginJar> 
pluginJars) {
-        
AgentServiceLoader.getServiceLoader(PluginBootService.class).getServices().forEach(each
 -> {
+    private static void close(final Collection<PluginJar> pluginJars) {
+        
AgentServiceLoader.getServiceLoader(PluginLifecycleService.class).getServices().forEach(each
 -> {
             try {
                 each.close();
                 // CHECKSTYLE:OFF
diff --git 
a/agent/plugins/logging/type/file/src/main/java/org/apache/shardingsphere/agent/plugin/logging/file/FileLoggingPluginBootService.java
 
b/agent/plugins/logging/type/file/src/main/java/org/apache/shardingsphere/agent/plugin/logging/file/FileLoggingPluginLifecycleService.java
similarity index 85%
rename from 
agent/plugins/logging/type/file/src/main/java/org/apache/shardingsphere/agent/plugin/logging/file/FileLoggingPluginBootService.java
rename to 
agent/plugins/logging/type/file/src/main/java/org/apache/shardingsphere/agent/plugin/logging/file/FileLoggingPluginLifecycleService.java
index 581d8cff7b5..e50c3ce309c 100644
--- 
a/agent/plugins/logging/type/file/src/main/java/org/apache/shardingsphere/agent/plugin/logging/file/FileLoggingPluginBootService.java
+++ 
b/agent/plugins/logging/type/file/src/main/java/org/apache/shardingsphere/agent/plugin/logging/file/FileLoggingPluginLifecycleService.java
@@ -18,12 +18,12 @@
 package org.apache.shardingsphere.agent.plugin.logging.file;
 
 import org.apache.shardingsphere.agent.api.PluginConfiguration;
-import org.apache.shardingsphere.agent.spi.PluginBootService;
+import org.apache.shardingsphere.agent.spi.PluginLifecycleService;
 
 /**
- * File logging plugin boot service.
+ * File logging plugin lifecycle service.
  */
-public final class FileLoggingPluginBootService implements PluginBootService {
+public final class FileLoggingPluginLifecycleService implements 
PluginLifecycleService {
     
     @Override
     public void start(final PluginConfiguration pluginConfig, final boolean 
isEnhancedForProxy) {
diff --git 
a/agent/plugins/logging/type/file/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
 
b/agent/plugins/logging/type/file/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginLifecycleService
similarity index 97%
rename from 
agent/plugins/logging/type/file/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
rename to 
agent/plugins/logging/type/file/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginLifecycleService
index 42e8c971aae..d829b56483b 100644
--- 
a/agent/plugins/logging/type/file/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
+++ 
b/agent/plugins/logging/type/file/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginLifecycleService
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.agent.plugin.logging.file.FileLoggingPluginBootService
+org.apache.shardingsphere.agent.plugin.logging.file.FileLoggingPluginLifecycleService
diff --git 
a/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginBootService.java
 
b/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginLifecycleService.java
similarity index 95%
rename from 
agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginBootService.java
rename to 
agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginLifecycleService.java
index 3fb9b776ede..ce5595b1310 100644
--- 
a/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginBootService.java
+++ 
b/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginLifecycleService.java
@@ -29,16 +29,16 @@ import 
org.apache.shardingsphere.agent.plugin.metrics.prometheus.collector.MetaD
 import 
org.apache.shardingsphere.agent.plugin.metrics.prometheus.collector.ProxyInfoCollector;
 import 
org.apache.shardingsphere.agent.plugin.metrics.prometheus.wrapper.PrometheusWrapperFactory;
 import 
org.apache.shardingsphere.agent.plugin.core.config.validator.PluginConfigurationValidator;
-import org.apache.shardingsphere.agent.spi.PluginBootService;
+import org.apache.shardingsphere.agent.spi.PluginLifecycleService;
 
 import java.io.IOException;
 import java.net.InetSocketAddress;
 
 /**
- * Prometheus plugin boot service.
+ * Prometheus plugin lifecycle service.
  */
 @Slf4j
-public final class PrometheusPluginBootService implements PluginBootService {
+public final class PrometheusPluginLifecycleService implements 
PluginLifecycleService {
     
     private static final String KEY_JVM_INFORMATION_COLLECTOR_ENABLED = 
"jvm-information-collector-enabled";
     
diff --git 
a/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
 
b/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginLifecycleService
similarity index 96%
rename from 
agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
rename to 
agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginLifecycleService
index 00624d3151f..74bb700e620 100644
--- 
a/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
+++ 
b/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginLifecycleService
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.agent.plugin.metrics.prometheus.PrometheusPluginBootService
+org.apache.shardingsphere.agent.plugin.metrics.prometheus.PrometheusPluginLifecycleService
diff --git 
a/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginBootServiceTest.java
 
b/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginLifecycleServiceTest.java
similarity index 86%
rename from 
agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginBootServiceTest.java
rename to 
agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginLifecycleServiceTest.java
index 8e9304eee2b..e894b2adc27 100644
--- 
a/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginBootServiceTest.java
+++ 
b/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginLifecycleServiceTest.java
@@ -42,13 +42,13 @@ import java.net.Socket;
 
 import static org.mockito.Mockito.mock;
 
-public final class PrometheusPluginBootServiceTest extends 
ProxyContextRestorer {
+public final class PrometheusPluginLifecycleServiceTest extends 
ProxyContextRestorer {
     
-    private final PrometheusPluginBootService pluginBootService = new 
PrometheusPluginBootService();
+    private final PrometheusPluginLifecycleService pluginLifecycleService = 
new PrometheusPluginLifecycleService();
     
     @After
     public void close() {
-        pluginBootService.close();
+        pluginLifecycleService.close();
     }
     
     @Test
@@ -58,7 +58,7 @@ public final class PrometheusPluginBootServiceTest extends 
ProxyContextRestorer
                 new ComputeNodeInstance(mock(InstanceMetaData.class)), new 
StandaloneWorkerIdGenerator(), new ModeConfiguration("Standalone", null),
                 mock(ModeContextManager.class), mock(LockContext.class), new 
EventBusContext());
         ProxyContext.init(new ContextManager(metaDataContexts, 
instanceContext));
-        pluginBootService.start(new PluginConfiguration("localhost", 8090, "", 
PropertiesBuilder.build(new Property("JVM_INFORMATION_COLLECTOR_ENABLED", 
Boolean.TRUE.toString()))), true);
+        pluginLifecycleService.start(new PluginConfiguration("localhost", 
8090, "", PropertiesBuilder.build(new 
Property("JVM_INFORMATION_COLLECTOR_ENABLED", Boolean.TRUE.toString()))), true);
         new Socket().connect(new InetSocketAddress("localhost", 8090));
     }
 }
diff --git 
a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginBootService.java
 
b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginLifecycleService.java
similarity index 93%
rename from 
agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginBootService.java
rename to 
agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginLifecycleService.java
index f129ae14d1a..271cb0dc14b 100644
--- 
a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginBootService.java
+++ 
b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginLifecycleService.java
@@ -21,14 +21,14 @@ import io.jaegertracing.Configuration;
 import io.opentracing.util.GlobalTracer;
 import org.apache.shardingsphere.agent.api.PluginConfiguration;
 import 
org.apache.shardingsphere.agent.plugin.core.config.validator.PluginConfigurationValidator;
-import org.apache.shardingsphere.agent.spi.PluginBootService;
+import org.apache.shardingsphere.agent.spi.PluginLifecycleService;
 
 import java.util.Optional;
 
 /**
- * Jaeger tracing plugin boot service.
+ * Jaeger tracing plugin lifecycle service.
  */
-public final class JaegerTracingPluginBootService implements PluginBootService 
{
+public final class JaegerTracingPluginLifecycleService implements 
PluginLifecycleService {
     
     private static final String DEFAULT_SERVICE_NAME = "shardingsphere";
     
diff --git 
a/agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
 
b/agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginLifecycleService
similarity index 97%
rename from 
agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
rename to 
agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginLifecycleService
index d3863fdf342..53ed5c307e0 100644
--- 
a/agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
+++ 
b/agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginLifecycleService
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.agent.plugin.tracing.jaeger.JaegerTracingPluginBootService
+org.apache.shardingsphere.agent.plugin.tracing.jaeger.JaegerTracingPluginLifecycleService
diff --git 
a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginBootServiceTest.java
 
b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginLifecycleServiceTest.java
similarity index 86%
rename from 
agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginBootServiceTest.java
rename to 
agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginLifecycleServiceTest.java
index 739c4af40a7..e839ec6032e 100644
--- 
a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginBootServiceTest.java
+++ 
b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginLifecycleServiceTest.java
@@ -30,13 +30,13 @@ import java.util.Properties;
 
 import static org.junit.Assert.assertTrue;
 
-public final class JaegerTracingPluginBootServiceTest {
+public final class JaegerTracingPluginLifecycleServiceTest {
     
-    private final JaegerTracingPluginBootService pluginBootService = new 
JaegerTracingPluginBootService();
+    private final JaegerTracingPluginLifecycleService pluginLifecycleService = 
new JaegerTracingPluginLifecycleService();
     
     @After
     public void close() throws ReflectiveOperationException {
-        pluginBootService.close();
+        pluginLifecycleService.close();
         
Plugins.getMemberAccessor().set(GlobalTracer.class.getDeclaredField("tracer"), 
GlobalTracer.class, NoopTracerFactory.create());
     }
     
@@ -47,7 +47,7 @@ public final class JaegerTracingPluginBootServiceTest {
                 new Property("JAEGER_SAMPLER_PARAM", "1"),
                 new Property("JAEGER_REPORTER_LOG_SPANS", 
Boolean.TRUE.toString()),
                 new Property("JAEGER_REPORTER_FLUSH_INTERVAL", "1"));
-        pluginBootService.start(new PluginConfiguration("localhost", 5775, "", 
props), true);
+        pluginLifecycleService.start(new PluginConfiguration("localhost", 
5775, "", props), true);
         assertTrue(GlobalTracer.isRegistered());
     }
 }
diff --git 
a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/OpenTelemetryTracingPluginBootService.java
 
b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/OpenTelemetryTracingPluginLifecycleService.java
similarity index 89%
rename from 
agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/OpenTelemetryTracingPluginBootService.java
rename to 
agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/OpenTelemetryTracingPluginLifecycleService.java
index 3702316394d..9d9683332f5 100644
--- 
a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/OpenTelemetryTracingPluginBootService.java
+++ 
b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/OpenTelemetryTracingPluginLifecycleService.java
@@ -20,9 +20,12 @@ package 
org.apache.shardingsphere.agent.plugin.tracing.opentelemetry;
 import io.opentelemetry.sdk.OpenTelemetrySdk;
 import io.opentelemetry.sdk.autoconfigure.OpenTelemetrySdkAutoConfiguration;
 import org.apache.shardingsphere.agent.api.PluginConfiguration;
-import org.apache.shardingsphere.agent.spi.PluginBootService;
+import org.apache.shardingsphere.agent.spi.PluginLifecycleService;
 
-public class OpenTelemetryTracingPluginBootService implements 
PluginBootService {
+/**
+ * Open telemetry tracing plugin lifecycle service.
+ */
+public class OpenTelemetryTracingPluginLifecycleService implements 
PluginLifecycleService {
     
     @Override
     public void start(final PluginConfiguration pluginConfig, final boolean 
isEnhancedForProxy) {
diff --git 
a/agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
 
b/agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginLifecycleService
similarity index 95%
rename from 
agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
rename to 
agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginLifecycleService
index 0919840fa37..61cd1e64a33 100644
--- 
a/agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
+++ 
b/agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginLifecycleService
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.OpenTelemetryTracingPluginBootService
+org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.OpenTelemetryTracingPluginLifecycleService
diff --git 
a/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/OpenTelemetryTracingPluginBootServiceTest.java
 
b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/OpenTelemetryTracingPluginLifecycleServiceTest.java
similarity index 84%
rename from 
agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/OpenTelemetryTracingPluginBootServiceTest.java
rename to 
agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/OpenTelemetryTracingPluginLifecycleServiceTest.java
index cbf61baa1be..a189728e654 100644
--- 
a/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/OpenTelemetryTracingPluginBootServiceTest.java
+++ 
b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/OpenTelemetryTracingPluginLifecycleServiceTest.java
@@ -26,21 +26,21 @@ import org.junit.Test;
 
 import static org.junit.Assert.assertNotNull;
 
-public final class OpenTelemetryTracingPluginBootServiceTest {
+public final class OpenTelemetryTracingPluginLifecycleServiceTest {
     
-    private final OpenTelemetryTracingPluginBootService pluginBootService = 
new OpenTelemetryTracingPluginBootService();
-    
-    @After
-    public void close() {
-        pluginBootService.close();
-        GlobalOpenTelemetry.resetForTest();
-    }
+    private final OpenTelemetryTracingPluginLifecycleService 
pluginLifecycleService = new OpenTelemetryTracingPluginLifecycleService();
     
     @Test
     public void assertStart() {
-        pluginBootService.start(new PluginConfiguration(null, 0, null,
+        pluginLifecycleService.start(new PluginConfiguration(null, 0, null,
                 PropertiesBuilder.build(new 
Property("otel.resource.attributes", "service.name=shardingsphere-agent"), new 
Property("otel.traces.exporter", "zipkin"))), true);
         assertNotNull(GlobalOpenTelemetry.getTracerProvider());
         assertNotNull(GlobalOpenTelemetry.getTracer("shardingsphere-agent"));
     }
+    
+    @After
+    public void close() {
+        pluginLifecycleService.close();
+        GlobalOpenTelemetry.resetForTest();
+    }
 }
diff --git 
a/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/OpenTracingPluginBootService.java
 
b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/OpenTracingPluginLifecycleService.java
similarity index 91%
rename from 
agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/OpenTracingPluginBootService.java
rename to 
agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/OpenTracingPluginLifecycleService.java
index 9191283b7c2..2b1ba77bb1c 100644
--- 
a/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/OpenTracingPluginBootService.java
+++ 
b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/OpenTracingPluginLifecycleService.java
@@ -21,12 +21,12 @@ import com.google.common.base.Preconditions;
 import io.opentracing.Tracer;
 import io.opentracing.util.GlobalTracer;
 import org.apache.shardingsphere.agent.api.PluginConfiguration;
-import org.apache.shardingsphere.agent.spi.PluginBootService;
+import org.apache.shardingsphere.agent.spi.PluginLifecycleService;
 
 /**
- * Open tracing plugin boot service.
+ * Open tracing plugin lifecycle service.
  */
-public final class OpenTracingPluginBootService implements PluginBootService {
+public final class OpenTracingPluginLifecycleService implements 
PluginLifecycleService {
     
     private static final String KEY_OPENTRACING_TRACER_CLASS_NAME = 
"opentracing-tracer-class-name";
     
diff --git 
a/agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
 
b/agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginLifecycleService
similarity index 96%
rename from 
agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
rename to 
agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginLifecycleService
index 0c370083875..ad23bc65f4a 100644
--- 
a/agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
+++ 
b/agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginLifecycleService
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.agent.plugin.tracing.opentracing.OpenTracingPluginBootService
+org.apache.shardingsphere.agent.plugin.tracing.opentracing.OpenTracingPluginLifecycleService
diff --git 
a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/OpenTracingPluginBootServiceTest.java
 
b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/OpenTracingPluginLifecycleServiceTest.java
similarity index 76%
rename from 
agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/OpenTracingPluginBootServiceTest.java
rename to 
agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/OpenTracingPluginLifecycleServiceTest.java
index 887c2526cf1..05cda4a398b 100644
--- 
a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/OpenTracingPluginBootServiceTest.java
+++ 
b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/OpenTracingPluginLifecycleServiceTest.java
@@ -26,18 +26,18 @@ import org.junit.Test;
 
 import static org.junit.Assert.assertTrue;
 
-public final class OpenTracingPluginBootServiceTest {
+public final class OpenTracingPluginLifecycleServiceTest {
     
-    private final OpenTracingPluginBootService pluginBootService = new 
OpenTracingPluginBootService();
+    private final OpenTracingPluginLifecycleService pluginLifecycleService = 
new OpenTracingPluginLifecycleService();
     
     @After
     public void close() {
-        pluginBootService.close();
+        pluginLifecycleService.close();
     }
     
     @Test
     public void assertStart() {
-        pluginBootService.start(new PluginConfiguration("localhost", 8090, "", 
PropertiesBuilder.build(new Property("opentracing-tracer-class-name", 
"io.opentracing.mock.MockTracer"))), true);
+        pluginLifecycleService.start(new PluginConfiguration("localhost", 
8090, "", PropertiesBuilder.build(new Property("opentracing-tracer-class-name", 
"io.opentracing.mock.MockTracer"))), true);
         assertTrue(GlobalTracer.isRegistered());
     }
 }
diff --git 
a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginBootService.java
 
b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginLifecycleService.java
similarity index 95%
rename from 
agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginBootService.java
rename to 
agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginLifecycleService.java
index 72a166876b1..e5a475d9143 100644
--- 
a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginBootService.java
+++ 
b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginLifecycleService.java
@@ -23,7 +23,7 @@ import brave.sampler.RateLimitingSampler;
 import brave.sampler.Sampler;
 import org.apache.shardingsphere.agent.api.PluginConfiguration;
 import 
org.apache.shardingsphere.agent.plugin.core.config.validator.PluginConfigurationValidator;
-import org.apache.shardingsphere.agent.spi.PluginBootService;
+import org.apache.shardingsphere.agent.spi.PluginLifecycleService;
 import zipkin2.reporter.brave.AsyncZipkinSpanHandler;
 import zipkin2.reporter.okhttp3.OkHttpSender;
 
@@ -31,9 +31,9 @@ import java.util.Optional;
 import java.util.Properties;
 
 /**
- * Zipkin tracing plugin boot service.
+ * Zipkin tracing plugin lifecycle service.
  */
-public final class ZipkinTracingPluginBootService implements PluginBootService 
{
+public final class ZipkinTracingPluginLifecycleService implements 
PluginLifecycleService {
     
     private static final String DEFAULT_SERVICE_NAME = "shardingsphere";
     
diff --git 
a/agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
 
b/agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginLifecycleService
similarity index 97%
rename from 
agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
rename to 
agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginLifecycleService
index 5a21475c58a..8dc05d4b44e 100644
--- 
a/agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
+++ 
b/agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginLifecycleService
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.agent.plugin.tracing.zipkin.ZipkinTracingPluginBootService
+org.apache.shardingsphere.agent.plugin.tracing.zipkin.ZipkinTracingPluginLifecycleService
diff --git 
a/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginBootServiceTest.java
 
b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginLifecycleServiceTest.java
similarity index 76%
rename from 
agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginBootServiceTest.java
rename to 
agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginLifecycleServiceTest.java
index 155468ec9a6..569f89698e3 100644
--- 
a/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginBootServiceTest.java
+++ 
b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginLifecycleServiceTest.java
@@ -27,19 +27,19 @@ import java.util.Properties;
 
 import static org.junit.Assert.assertNotNull;
 
-public final class ZipkinTracingPluginBootServiceTest {
+public final class ZipkinTracingPluginLifecycleServiceTest {
     
-    private final ZipkinTracingPluginBootService pluginBootService = new 
ZipkinTracingPluginBootService();
+    private final ZipkinTracingPluginLifecycleService pluginLifecycleService = 
new ZipkinTracingPluginLifecycleService();
     
     @After
     public void close() {
-        pluginBootService.close();
+        pluginLifecycleService.close();
     }
     
     @Test
     public void assertStart() throws ReflectiveOperationException {
-        pluginBootService.start(new PluginConfiguration("localhost", 9441, "", 
new Properties()), true);
-        Tracing tracing = (Tracing) 
Plugins.getMemberAccessor().get(ZipkinTracingPluginBootService.class.getDeclaredField("tracing"),
 pluginBootService);
+        pluginLifecycleService.start(new PluginConfiguration("localhost", 
9441, "", new Properties()), true);
+        Tracing tracing = (Tracing) 
Plugins.getMemberAccessor().get(ZipkinTracingPluginLifecycleService.class.getDeclaredField("tracing"),
 pluginLifecycleService);
         assertNotNull(tracing.tracer());
     }
 }
diff --git a/docs/document/content/dev-manual/agent.cn.md 
b/docs/document/content/dev-manual/agent.cn.md
index 91d22671b43..2392c2be2bc 100644
--- a/docs/document/content/dev-manual/agent.cn.md
+++ b/docs/document/content/dev-manual/agent.cn.md
@@ -5,23 +5,23 @@ weight = 14
 chapter = true
 +++
 
-## PluginBootService
+## PluginLifecycleService
 
 ### 全限定类名
 
-[`org.apache.shardingsphere.agent.spi.PluginBootService`](https://github.com/apache/shardingsphere/blob/master/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PluginBootService.java)
+[`org.apache.shardingsphere.agent.spi.PluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PluginLifecycleService.java)
 
 ### 定义
 
-插件启动服务定义接口
+插件生命周期管理接口
 
 ### 已知实现
 
-| *配置标识*      | *详细说明*                         | *全限定类名* |
-| ------------- | --------------------------------- | ---------- |
-| Prometheus    | Prometheus plugin 启动类           | 
[`org.apache.shardingsphere.agent.plugin.metrics.prometheus.PrometheusPluginBootService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginBootService.java)
 |
-| Logging       | Logging plugin 启动类              | 
[`org.apache.shardingsphere.agent.plugin.logging.file.FileLoggingPluginBootService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/logging/type/file/src/main/java/org/apache/shardingsphere/agent/plugin/logging/file/FileLoggingPluginBootService.java)
 |
-| Jaeger        | Jaeger plugin 启动类               | 
[`org.apache.shardingsphere.agent.plugin.tracing.jaeger.JaegerTracingPluginBootService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginBootService.java)
 |
-| OpenTelemetry | OpenTelemetryTracing plugin 启动类 | 
[`org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.OpenTelemetryTracingPluginBootService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/OpenTelemetryTracingPluginBootService.java)
 |
-| OpenTracing   | OpenTracing plugin 启动类          | 
[`org.apache.shardingsphere.agent.plugin.tracing.opentracing.OpenTracingPluginBootService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/OpenTracingPluginBootService.java)
 |
-| Zipkin        | Zipkin plugin 启动类               | 
[`org.apache.shardingsphere.agent.plugin.tracing.zipkin.ZipkinTracingPluginBootService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginBootService.java)
 |
+| *配置标识*      | *详细说明*                    | *全限定类名* |
+| ------------- | ---------------------------- | ---------- |
+| Prometheus    | Prometheus 插件生命周期管理类    | 
[`org.apache.shardingsphere.agent.plugin.metrics.prometheus.PrometheusPluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginLifecycleService.java)
 |
+| File          | File 插件生命周期管理类          | 
[`org.apache.shardingsphere.agent.plugin.logging.file.FileLoggingPluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/logging/type/file/src/main/java/org/apache/shardingsphere/agent/plugin/logging/file/FileLoggingPluginLifecycleService.java)
 |
+| Jaeger        | Jaeger 插件生命周期管理类        | 
[`org.apache.shardingsphere.agent.plugin.tracing.jaeger.JaegerTracingPluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginLifecycleService.java)
 |
+| OpenTelemetry | OpenTelemetry 插件生命周期管理类 | 
[`org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.OpenTelemetryTracingPluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/OpenTelemetryTracingPluginLifecycleService.java)
 |
+| OpenTracing   | OpenTracing 插件生命周期管理类   | 
[`org.apache.shardingsphere.agent.plugin.tracing.opentracing.OpenTracingPluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/OpenTracingPluginLifecycleService.java)
 |
+| Zipkin        | Zipkin 插件生命周期管理类        | 
[`org.apache.shardingsphere.agent.plugin.tracing.zipkin.ZipkinTracingPluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginLifecycleService.java)
 |
diff --git a/docs/document/content/dev-manual/agent.en.md 
b/docs/document/content/dev-manual/agent.en.md
index b2bac4b86a9..379efed8fe5 100644
--- a/docs/document/content/dev-manual/agent.en.md
+++ b/docs/document/content/dev-manual/agent.en.md
@@ -5,23 +5,23 @@ weight = 14
 chapter = true
 +++
 
-## PluginBootService
+## PluginLifecycleService
 
 ### Fully-qualified class name
 
-[`org.apache.shardingsphere.agent.spi.PluginBootService`](https://github.com/apache/shardingsphere/blob/master/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PluginBootService.java)
+[`org.apache.shardingsphere.agent.spi.PluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PluginLifecycleService.java)
 
 ### Definition
 
-Plugin startup service definition
+Plug lifecycle management interface
 
 ### Implementation classes
 
-| *Configuration Type* | *Description*                             | 
*Fully-qualified class name* |
-| -------------------- | ----------------------------------------- | 
---------------------------- |
-| Prometheus           | Prometheus plugin startup class           | 
[`org.apache.shardingsphere.agent.plugin.metrics.prometheus.PrometheusPluginBootService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginBootService.java)
 |
-| Logging              | Logging plugin startup class              | 
[`org.apache.shardingsphere.agent.plugin.logging.file.FileLoggingPluginBootService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/logging/type/file/src/main/java/org/apache/shardingsphere/agent/plugin/logging/file/FileLoggingPluginBootService.java)
 |
-| Jaeger               | Jaeger plugin startup class               | 
[`org.apache.shardingsphere.agent.plugin.tracing.jaeger.JaegerTracingPluginBootService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginBootService.java)
 |
-| OpenTelemetry        | OpenTelemetryTracing plugin startup class | 
[`org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.OpenTelemetryTracingPluginBootService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/OpenTelemetryTracingPluginBootService.java)
 |
-| OpenTracing          | OpenTracing plugin startup class          | 
[`org.apache.shardingsphere.agent.plugin.tracing.opentracing.OpenTracingPluginBootService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/OpenTracingPluginBootService.java)
 |
-| Zipkin               | Zipkin plugin startup class               | 
[`org.apache.shardingsphere.agent.plugin.tracing.zipkin.ZipkinTracingPluginBootService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginBootService.java)
 |
+| *Configuration Type* | *Description*                                        
| *Fully-qualified class name* |
+| -------------------- | ---------------------------------------------------- 
| ---------------------------- |
+| Prometheus           | Prometheus plug lifecycle management class           
| 
[`org.apache.shardingsphere.agent.plugin.metrics.prometheus.PrometheusPluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/plugin/metrics/prometheus/PrometheusPluginLifecycleService.java)
 |
+| File                 | Logging plug lifecycle management class              
| 
[`org.apache.shardingsphere.agent.plugin.logging.file.FileLoggingPluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/logging/type/file/src/main/java/org/apache/shardingsphere/agent/plugin/logging/file/FileLoggingPluginLifecycleService.java)
 |
+| Jaeger               | Jaeger plug lifecycle management class               
| 
[`org.apache.shardingsphere.agent.plugin.tracing.jaeger.JaegerTracingPluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginLifecycleService.java)
 |
+| OpenTelemetry        | OpenTelemetryTracing plug lifecycle management class 
| 
[`org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.OpenTelemetryTracingPluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/OpenTelemetryTracingPluginLifecycleService.java)
 |
+| OpenTracing          | OpenTracing plug lifecycle management class          
| 
[`org.apache.shardingsphere.agent.plugin.tracing.opentracing.OpenTracingPluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/OpenTracingPluginLifecycleService.java)
 |
+| Zipkin               | Zipkin plug lifecycle management class               
| 
[`org.apache.shardingsphere.agent.plugin.tracing.zipkin.ZipkinTracingPluginLifecycleService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginLifecycleService.java)
 |
diff --git a/docs/document/content/dev-manual/sharding.cn.md 
b/docs/document/content/dev-manual/sharding.cn.md
index 9b2998c4f5d..332f175b5eb 100644
--- a/docs/document/content/dev-manual/sharding.cn.md
+++ b/docs/document/content/dev-manual/sharding.cn.md
@@ -17,21 +17,21 @@ chapter = true
 
 ### 已知实现
 
-| *配置标识*     | *自动分片算法* |       *详细说明*                                         
            | *全限定类名* |
-| ------------------------ |----------| 
----------------------------------------------------------------------- | 
---------------------------- |
-| MOD                      | Y        | 基于取模的分片算法                              
                 | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.mod.ModShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/mod/ModShardingAlgorithm.java)
 |
-| HASH_MOD                 | Y        | 基于哈希取模的分片算法                            
              | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.mod.HashModShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/mod/HashModShardingAlgorithm.java)
 |
-| BOUNDARY_RANGE           | Y        | 基于分片边界的范围分片算法                          
       | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.range.BoundaryBasedRangeShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/BoundaryBasedRangeShardingAlgorithm.java)
 |
-| VOLUME_RANGE             | Y        | 基于分片容量的范围分片算法                          
         | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.range.VolumeBasedRangeShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/VolumeBasedRangeShardingAlgorithm.java)
 |
-| AUTO_INTERVAL            | Y        | 基于可变时间范围的分片算法                          
           | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.datetime.AutoIntervalShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/AutoIntervalShardingAlgorithm.java)
 |
-| INTERVAL                 | N        | 基于固定时间范围的分片算法                          
             | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.datetime.IntervalShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/IntervalShardingAlgorithm.java)
 |
-| CLASS_BASED              | N        | 基于自定义类的分片算法                            
              | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.classbased.ClassBasedShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/classbased/ClassBasedShardingAlgorithm.java)
 |
-| INLINE                   | N        | 基于行表达式的分片算法                            
                   | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.inline.InlineShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/inline/InlineShardingAlgorithm.java)
 |
-| COMPLEX_INLINE           | N        | 基于行表达式的复合分片算法                          
             | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.complex.ComplexInlineShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/complex/ComplexInlineShardingAlgorithm.java)
 |
-| HINT_INLINE              | N        | 基于行表达式的 Hint 分片算法                      
                    | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.hint.HintInlineShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/hint/HintInlineShardingAlgorithm.java)
 |
-| COSID_MOD                | N        | 基于 CosId 的取模分片算法                       
      | 
[`org.apache.shardingsphere.sharding.cosid.algorithm.sharding.mod.CosIdModShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/plugin/cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/mod/CosIdModShardingAlgorithm.java)
 |
-| COSID_INTERVAL           | N        | 基于 CosId 的固定时间范围的分片算法                  
   | 
[`org.apache.shardingsphere.sharding.cosid.algorithm.sharding.interval.CosIdIntervalShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/plugin/cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/CosIdIntervalShardingAlgorithm.java)
 |
-| COSID_INTERVAL_SNOWFLAKE | N        | 基于 CosId 的雪花ID固定时间范围的分片算法 | 
[`org.apache.shardingsphere.sharding.cosid.algorithm.sharding.interval.CosIdSnowflakeIntervalShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/plugin/cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/CosIdSnowflakeIntervalShardingAlgorithm.java)
 |
+| *配置标识*                | *自动分片算法* | *详细说明*                           | 
*全限定类名* |
+| ------------------------ | ----------- | ----------------------------------- 
| ---------- |
+| MOD                      | Y           | 基于取模的分片算法                     | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.mod.ModShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/mod/ModShardingAlgorithm.java)
 |
+| HASH_MOD                 | Y           | 基于哈希取模的分片算法                  | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.mod.HashModShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/mod/HashModShardingAlgorithm.java)
 |
+| BOUNDARY_RANGE           | Y           | 基于分片边界的范围分片算法               | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.range.BoundaryBasedRangeShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/BoundaryBasedRangeShardingAlgorithm.java)
 |
+| VOLUME_RANGE             | Y           | 基于分片容量的范围分片算法               | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.range.VolumeBasedRangeShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/VolumeBasedRangeShardingAlgorithm.java)
 |
+| AUTO_INTERVAL            | Y           | 基于可变时间范围的分片算法               | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.datetime.AutoIntervalShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/AutoIntervalShardingAlgorithm.java)
 |
+| INTERVAL                 | N           | 基于固定时间范围的分片算法               | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.datetime.IntervalShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/IntervalShardingAlgorithm.java)
 |
+| CLASS_BASED              | N           | 基于自定义类的分片算法                  | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.classbased.ClassBasedShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/classbased/ClassBasedShardingAlgorithm.java)
 |
+| INLINE                   | N           | 基于行表达式的分片算法                  | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.inline.InlineShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/inline/InlineShardingAlgorithm.java)
 |
+| COMPLEX_INLINE           | N           | 基于行表达式的复合分片算法               | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.complex.ComplexInlineShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/complex/ComplexInlineShardingAlgorithm.java)
 |
+| HINT_INLINE              | N           | 基于行表达式的 Hint 分片算法            | 
[`org.apache.shardingsphere.sharding.algorithm.sharding.hint.HintInlineShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/hint/HintInlineShardingAlgorithm.java)
 |
+| COSID_MOD                | N           | 基于 CosId 的取模分片算法              | 
[`org.apache.shardingsphere.sharding.cosid.algorithm.sharding.mod.CosIdModShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/plugin/cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/mod/CosIdModShardingAlgorithm.java)
 |
+| COSID_INTERVAL           | N           | 基于 CosId 的固定时间范围的分片算法      | 
[`org.apache.shardingsphere.sharding.cosid.algorithm.sharding.interval.CosIdIntervalShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/plugin/cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/CosIdIntervalShardingAlgorithm.java)
 |
+| COSID_INTERVAL_SNOWFLAKE | N           | 基于 CosId 的雪花ID固定时间范围的分片算法 | 
[`org.apache.shardingsphere.sharding.cosid.algorithm.sharding.interval.CosIdSnowflakeIntervalShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/plugin/cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/CosIdSnowflakeIntervalShardingAlgorithm.java)
 |
 
 ## KeyGenerateAlgorithm
 
@@ -45,13 +45,13 @@ chapter = true
 
 ### 已知实现
 
-| *配置标识* | *详细说明*                                      | *全限定类名* |
-| -------------------- | -------------------------------------------------- | 
---------------------------- |
-| SNOWFLAKE            | 基于雪花算法的分布式主键生成算法                   | 
[`org.apache.shardingsphere.sharding.algorithm.keygen.SnowflakeKeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/keygen/SnowflakeKeyGenerateAlgorithm.java)
 |
-| UUID                 | 基于 UUID 的分布式主键生成算法                        | 
[`org.apache.shardingsphere.sharding.algorithm.keygen.UUIDKeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/keygen/UUIDKeyGenerateAlgorithm.java)
 |
-| NANOID               | 基于 NanoId 的分布式主键生成算法                      | 
[`org.apache.shardingsphere.sharding.nanoid.algorithm.keygen.NanoIdKeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/plugin/nanoid/src/main/java/org/apache/shardingsphere/sharding/nanoid/algorithm/keygen/NanoIdKeyGenerateAlgorithm.java)
 |
-| COSID                | 基于 CosId 的分布式主键生成算法                       | 
[`org.apache.shardingsphere.sharding.cosid.algorithm.keygen.CosIdKeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/plugin/cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/CosIdKeyGenerateAlgorithm.java)
 |
-| COSID_SNOWFLAKE      | 基于 CosId 的雪花算法分布式主键生成算法 | 
[`org.apache.shardingsphere.sharding.cosid.algorithm.keygen.CosIdSnowflakeKeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/plugin/cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/CosIdSnowflakeKeyGenerateAlgorithm.java)
 |
+| *配置标识*       | *详细说明*                          | *全限定类名* |
+| --------------- | --------------------------------- | ---------- |
+| SNOWFLAKE       | 基于雪花算法的分布式主键生成算法        | 
[`org.apache.shardingsphere.sharding.algorithm.keygen.SnowflakeKeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/keygen/SnowflakeKeyGenerateAlgorithm.java)
 |
+| UUID            | 基于 UUID 的分布式主键生成算法         | 
[`org.apache.shardingsphere.sharding.algorithm.keygen.UUIDKeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/keygen/UUIDKeyGenerateAlgorithm.java)
 |
+| NANOID          | 基于 NanoId 的分布式主键生成算法       | 
[`org.apache.shardingsphere.sharding.nanoid.algorithm.keygen.NanoIdKeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/plugin/nanoid/src/main/java/org/apache/shardingsphere/sharding/nanoid/algorithm/keygen/NanoIdKeyGenerateAlgorithm.java)
 |
+| COSID           | 基于 CosId 的分布式主键生成算法        | 
[`org.apache.shardingsphere.sharding.cosid.algorithm.keygen.CosIdKeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/plugin/cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/CosIdKeyGenerateAlgorithm.java)
 |
+| COSID_SNOWFLAKE | 基于 CosId 的雪花算法分布式主键生成算法 | 
[`org.apache.shardingsphere.sharding.cosid.algorithm.keygen.CosIdSnowflakeKeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/plugin/cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/CosIdSnowflakeKeyGenerateAlgorithm.java)
 |
 
 ## ShardingAuditAlgorithm
 
@@ -65,9 +65,9 @@ chapter = true
 
 ### 已知实现
 
-| *配置标识*    | *详细说明*                                                 | *全限定类名* 
|
-| ----------------------- | 
------------------------------------------------------------- | 
---------------------------- |
-| DML_SHARDING_CONDITIONS | 禁止不带分片键的DML审计算法   | 
[`org.apache.shardingsphere.sharding.algorithm.audit.DMLShardingConditionsShardingAuditAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithm.java)
 |
+| *配置标识*               | *详细说明*               | *全限定类名* |
+| ----------------------- | ---------------------- | ---------- |
+| DML_SHARDING_CONDITIONS | 禁止不带分片键的DML审计算法 | 
[`org.apache.shardingsphere.sharding.algorithm.audit.DMLShardingConditionsShardingAuditAlgorithm`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithm.java)
 |
 
 ## DatetimeService
 
@@ -81,9 +81,9 @@ chapter = true
 
 ### 已知实现
 
-| *配置标识*    | *详细说明*                                                | *全限定类名* |
-| ----------------------- | 
------------------------------------------------------------ | 
---------------------------- |
-| DatabaseDatetimeService | 从数据库中获取当前时间进行路由           | 
[`org.apache.shardingsphere.agent.metrics.prometheus.service.PrometheusPluginBootService`](https://github.com/apache/shardingsphere/blob/master/infra/datetime/type/database/src/main/java/org/apache/shardingsphere/datetime/database/DatabaseDatetimeService.java)
 |
+| *配置标识*               | *详细说明*                      | *全限定类名* |
+| ----------------------- | ----------------------------- | ---------- |
+| DatabaseDatetimeService | 从数据库中获取当前时间进行路由      | 
[`org.apache.shardingsphere.datetime.database.DatabaseDatetimeService`](https://github.com/apache/shardingsphere/blob/master/infra/datetime/type/database/src/main/java/org/apache/shardingsphere/datetime/database/DatabaseDatetimeService.java)
 |
 | SystemDatetime          | 从应用系统时间中获取当前时间进行路由 | 
[`org.apache.shardingsphere.datetime.system.SystemDatetimeService`](https://github.com/apache/shardingsphere/blob/master/infra/datetime/type/system/src/main/java/org/apache/shardingsphere/datetime/system/SystemDatetimeService.java)
 |
 
 ## ShardingConditionEngine
@@ -98,6 +98,6 @@ chapter = true
 
 ### 已知实现
 
-| *配置标识*           | *详细说明*     | *全限定类名*                                      
                                                                                
                                                                                
                                                                           |
-|--------------------------------|------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| *配置标识*                       | *详细说明*        | *全限定类名* |
+| ------------------------------ | ---------------- | ---------- |
 | DefaultShardingConditionEngine | 默认分片条件生成引擎 | 
[`org.apache.shardingsphere.sharding.route.engine.condition.engine.impl.DefaultShardingConditionEngine`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/impl/DefaultShardingConditionEngine.java)
 |
diff --git a/docs/document/content/dev-manual/sharding.en.md 
b/docs/document/content/dev-manual/sharding.en.md
index b68c8e9f937..3a90bdccbf8 100644
--- a/docs/document/content/dev-manual/sharding.en.md
+++ b/docs/document/content/dev-manual/sharding.en.md
@@ -83,7 +83,7 @@ Obtain the current date for routing definition
 
 | *Configuration Type*    | *Description*                                      
          | *Fully-qualified class name* |
 | ----------------------- | 
------------------------------------------------------------ | 
---------------------------- |
-| DatabaseDatetimeService | Get the current time from the database for routing 
          | 
[`org.apache.shardingsphere.agent.metrics.prometheus.service.PrometheusPluginBootService`](https://github.com/apache/shardingsphere/blob/master/infra/datetime/type/database/src/main/java/org/apache/shardingsphere/datetime/database/DatabaseDatetimeService.java)
 |
+| DatabaseDatetimeService | Get the current time from the database for routing 
          | 
[`org.apache.shardingsphere.datetime.database.DatabaseDatetimeService`](https://github.com/apache/shardingsphere/blob/master/infra/datetime/type/database/src/main/java/org/apache/shardingsphere/datetime/database/DatabaseDatetimeService.java)
 |
 | SystemDatetime          | Get the current time from the application system 
for routing | 
[`org.apache.shardingsphere.datetime.system.SystemDatetimeService`](https://github.com/apache/shardingsphere/blob/master/infra/datetime/type/system/src/main/java/org/apache/shardingsphere/datetime/system/SystemDatetimeService.java)
 |
 
 ## ShardingConditionEngine
@@ -98,6 +98,6 @@ Sharding condition generator engine
 
 ### Implementation classes
 
-| *Configuration Type*           | *Description*                               
| *Fully-qualified class name*                                                  
                                                                                
                                                                                
                                                                |
-|--------------------------------|---------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| *Configuration Type*           | *Description*                               
| *Fully-qualified class name* |
+| ------------------------------ | ------------------------------------------- 
| ---------------------------- |
 | DefaultShardingConditionEngine | Default sharding condition generator engine 
| 
[`org.apache.shardingsphere.sharding.route.engine.condition.engine.impl.DefaultShardingConditionEngine`](https://github.com/apache/shardingsphere/blob/master/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/engine/impl/DefaultShardingConditionEngine.java)
 |

Reply via email to