You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2021/01/04 14:58:41 UTC
[shardingsphere] branch master updated: spi agent refactor (#8887)
This is an automated email from the ASF dual-hosted git repository.
zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 27cd2fd spi agent refactor (#8887)
27cd2fd is described below
commit 27cd2fdd6ebae8c1db4c6be933a892c97ab43606
Author: xiaoyu <54...@qq.com>
AuthorDate: Mon Jan 4 22:58:23 2021 +0800
spi agent refactor (#8887)
---
.../agent/spi/{ => boot}/PluginBootService.java | 3 +-
.../AbstractPluginDefinitionService.java} | 15 ++---
.../spi/definition/PluginDefinitionService.java} | 24 +++++---
.../agent/spi/{ => type}/AgentTypedSPI.java | 2 +-
.../agent/core/plugin/loader/PluginLoader.java | 67 ++++++++++------------
.../plugin/manager/PluginBootServiceManager.java | 9 ++-
.../agent/core/spi/AgentTypedSPIRegistry.java | 2 +-
.../agent/core/spi/PluginServiceLoader.java} | 26 ++++++---
.../src/main/resources/conf/agent.yaml | 2 +-
.../shardingsphere-agent-plugin-logging/pom.xml | 8 ---
.../shardingsphere-agent-logging-base/pom.xml | 4 --
...ava => BaseLoggingPluginDefinitionService.java} | 17 +++---
...e.agent.spi.definition.PluginDefinitionService} | 2 +-
.../shardingsphere-agent-metrics-api/pom.xml | 11 ----
.../agent/metrics/api/MetricsRegisterFactory.java | 2 +-
...on.java => MetricsPluginDefinitionService.java} | 17 +++---
.../pom.xml | 8 ---
.../service/PrometheusPluginBootService.java | 2 +-
...hardingsphere.agent.spi.boot.PluginBootService} | 0
...e.agent.spi.definition.PluginDefinitionService} | 2 +-
.../shardingsphere-agent-plugin-tracing/pom.xml | 8 ---
.../shardingsphere-agent-tracing-jaeger/pom.xml | 1 -
...ion.java => JaegerPluginDefinitionService.java} | 17 +++---
.../service/JaegerTracingPluginBootService.java | 2 +-
...hardingsphere.agent.spi.boot.PluginBootService} | 0
...e.agent.spi.definition.PluginDefinitionService} | 2 +-
.../shardingsphere-agent-tracing-zipkin/pom.xml | 1 -
...ion.java => ZipkinPluginDefinitionService.java} | 17 +++---
.../service/ZipkinTracingPluginBootService.java | 2 +-
...hardingsphere.agent.spi.boot.PluginBootService} | 0
...e.agent.spi.definition.PluginDefinitionService} | 2 +-
31 files changed, 127 insertions(+), 148 deletions(-)
diff --git a/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/PluginBootService.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/boot/PluginBootService.java
similarity index 91%
rename from shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/PluginBootService.java
rename to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/boot/PluginBootService.java
index b0b5a73..b8b2b55 100644
--- a/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/PluginBootService.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/boot/PluginBootService.java
@@ -15,9 +15,10 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.agent.spi;
+package org.apache.shardingsphere.agent.spi.boot;
import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.spi.type.AgentTypedSPI;
/**
* Plugin boot service that the lifecycle is from the agent start to shutdown.
diff --git a/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/definition/PluginDefinition.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/definition/AbstractPluginDefinitionService.java
similarity index 86%
rename from shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/definition/PluginDefinition.java
rename to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/definition/AbstractPluginDefinitionService.java
index 0dbd1a9..e8e7e93 100644
--- a/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/api/definition/PluginDefinition.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/definition/AbstractPluginDefinitionService.java
@@ -15,11 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.agent.api.definition;
+package org.apache.shardingsphere.agent.spi.definition;
import com.google.common.collect.Maps;
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.agent.api.point.PluginInterceptorPoint;
import java.util.List;
@@ -27,18 +25,12 @@ import java.util.Map;
import java.util.stream.Collectors;
/**
- * Plugin definition.
+ * Abstract plugin definition service.
*/
-@RequiredArgsConstructor
-public abstract class PluginDefinition {
+public abstract class AbstractPluginDefinitionService implements PluginDefinitionService {
private final Map<String, PluginInterceptorPoint.Builder> interceptorPointMap = Maps.newHashMap();
- @Getter
- private final String pluginName;
-
- protected abstract void define();
-
protected PluginInterceptorPoint.Builder intercept(final String classNameOfTarget) {
if (interceptorPointMap.containsKey(classNameOfTarget)) {
return interceptorPointMap.get(classNameOfTarget);
@@ -53,6 +45,7 @@ public abstract class PluginDefinition {
*
* @return Collection of pluginInterceptorPoint
*/
+ @Override
public final List<PluginInterceptorPoint> build() {
define();
return interceptorPointMap.values().stream().map(PluginInterceptorPoint.Builder::install).collect(Collectors.toList());
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/MetricsRegisterFactory.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/definition/PluginDefinitionService.java
similarity index 57%
copy from shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/MetricsRegisterFactory.java
copy to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/definition/PluginDefinitionService.java
index 4a460d3..4341761 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/MetricsRegisterFactory.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/definition/PluginDefinitionService.java
@@ -15,19 +15,29 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.agent.metrics.api;
+package org.apache.shardingsphere.agent.spi.definition;
-import org.apache.shardingsphere.agent.spi.AgentTypedSPI;
+import java.util.Collection;
+import java.util.Collections;
+import org.apache.shardingsphere.agent.api.point.PluginInterceptorPoint;
+import org.apache.shardingsphere.agent.spi.type.AgentTypedSPI;
/**
- * Metrics register factory.
+ * Plugin definition service.
*/
-public interface MetricsRegisterFactory extends AgentTypedSPI {
+public interface PluginDefinitionService extends AgentTypedSPI {
/**
- * New instance metrics register.
+ * Define.
+ */
+ void define();
+
+ /**
+ * Build collection of plugin interceptor point.
*
- * @return the metrics register
+ * @return collection of plugin interceptor point
*/
- MetricsRegister newInstance();
+ default Collection<PluginInterceptorPoint> build() {
+ return Collections.emptyList();
+ }
}
diff --git a/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/AgentTypedSPI.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/type/AgentTypedSPI.java
similarity index 95%
rename from shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/AgentTypedSPI.java
rename to shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/type/AgentTypedSPI.java
index c022226..8e6e7ff 100644
--- a/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/AgentTypedSPI.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/spi/type/AgentTypedSPI.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.agent.spi;
+package org.apache.shardingsphere.agent.spi.type;
/**
* Agent typed SPI.
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/PluginLoader.java b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/PluginLoader.java
index b6ee618..5df306c 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/PluginLoader.java
+++ b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/PluginLoader.java
@@ -17,29 +17,17 @@
package org.apache.shardingsphere.agent.core.plugin.loader;
-import com.google.common.base.Strings;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.io.ByteStreams;
-import lombok.RequiredArgsConstructor;
-import lombok.SneakyThrows;
-import lombok.extern.slf4j.Slf4j;
-import net.bytebuddy.description.type.TypeDescription;
-import net.bytebuddy.matcher.ElementMatcher;
-import net.bytebuddy.matcher.ElementMatcher.Junction;
-import org.apache.shardingsphere.agent.core.config.cache.AgentObjectPool;
-import org.apache.shardingsphere.agent.config.AgentConfiguration;
-import org.apache.shardingsphere.agent.core.config.path.AgentPathBuilder;
-import org.apache.shardingsphere.agent.api.definition.PluginDefinition;
-import org.apache.shardingsphere.agent.api.point.PluginInterceptorPoint;
-
import java.io.ByteArrayOutputStream;
import java.io.Closeable;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
+import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
@@ -53,6 +41,18 @@ import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.jar.Manifest;
import java.util.zip.ZipEntry;
+import lombok.RequiredArgsConstructor;
+import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
+import net.bytebuddy.description.type.TypeDescription;
+import net.bytebuddy.matcher.ElementMatcher;
+import net.bytebuddy.matcher.ElementMatcher.Junction;
+import org.apache.shardingsphere.agent.api.point.PluginInterceptorPoint;
+import org.apache.shardingsphere.agent.config.AgentConfiguration;
+import org.apache.shardingsphere.agent.core.config.cache.AgentObjectPool;
+import org.apache.shardingsphere.agent.core.config.path.AgentPathBuilder;
+import org.apache.shardingsphere.agent.core.spi.PluginServiceLoader;
+import org.apache.shardingsphere.agent.spi.definition.PluginDefinitionService;
/**
* Plugin loader.
@@ -107,29 +107,12 @@ public final class PluginLoader extends ClassLoader implements Closeable {
Map<String, PluginInterceptorPoint> pointMap = Maps.newHashMap();
Set<String> ignoredPluginNames = AgentObjectPool.INSTANCE.get(AgentConfiguration.class).getIgnoredPluginNames();
try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
- for (File jarFile : jarFiles) {
+ for (File each : jarFiles) {
outputStream.reset();
- JarFile jar = new JarFile(jarFile, true);
- jars.add(new PluginJar(jar, jarFile));
- log.info("Loaded jar {}.", jarFile.getName());
- Attributes attributes = jar.getManifest().getMainAttributes();
- String entrypoint = attributes.getValue("Entrypoint");
- if (Strings.isNullOrEmpty(entrypoint)) {
- log.warn("Entrypoint is not setting in {}.", jarFile.getName());
- continue;
- }
- try {
- ByteStreams.copy(jar.getInputStream(jar.getEntry(classNameToPath(entrypoint))), outputStream);
- PluginDefinition pluginDefinition = (PluginDefinition) defineClass(entrypoint, outputStream.toByteArray(), 0, outputStream.size()).newInstance();
- if (!ignoredPluginNames.isEmpty() && ignoredPluginNames.contains(pluginDefinition.getPluginName())) {
- continue;
- }
- buildPluginInterceptorPointMap(pluginDefinition, pointMap);
- // CHECKSTYLE:OFF
- } catch (final Throwable ex) {
- // CHECKSTYLE:ON
- log.error("Failed to load plugin definition, {}.", entrypoint, ex);
- }
+ JarFile jar = new JarFile(each, true);
+ jars.add(new PluginJar(jar, each));
+ log.info("Loaded jar {}.", each.getName());
+ loadPluginDefinitionServices(ignoredPluginNames, pointMap);
}
}
interceptorPointMap = ImmutableMap.<String, PluginInterceptorPoint>builder().putAll(pointMap).build();
@@ -268,6 +251,16 @@ public final class PluginLoader extends ClassLoader implements Closeable {
}
}
+ private void loadPluginDefinitionServices(final Set<String> ignoredPluginNames, final Map<String, PluginInterceptorPoint> pointMap) {
+ Collection<PluginDefinitionService> pluginDefinitionServices = PluginServiceLoader.newServiceInstances(PluginDefinitionService.class);
+ for (PluginDefinitionService each : pluginDefinitionServices) {
+ if (!ignoredPluginNames.isEmpty() && ignoredPluginNames.contains(each.getType())) {
+ continue;
+ }
+ buildPluginInterceptorPointMap(each, pointMap);
+ }
+ }
+
private String classNameToPath(final String className) {
return String.join("", className.replace(".", "/"), ".class");
}
@@ -286,8 +279,8 @@ public final class PluginLoader extends ClassLoader implements Closeable {
definePackage(packageName, specTitle, specVersion, specVendor, implTitle, implVersion, implVendor, null);
}
- private void buildPluginInterceptorPointMap(final PluginDefinition pluginDefinition, final Map<String, PluginInterceptorPoint> pointMap) {
- pluginDefinition.build().forEach(each -> {
+ private void buildPluginInterceptorPointMap(final PluginDefinitionService pluginDefinitionService, final Map<String, PluginInterceptorPoint> pointMap) {
+ pluginDefinitionService.build().forEach(each -> {
String target = each.getClassNameOfTarget();
if (pointMap.containsKey(target)) {
PluginInterceptorPoint definition = pointMap.get(target);
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/manager/PluginBootServiceManager.java b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/manager/PluginBootServiceManager.java
index ce7967e..5791813 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/manager/PluginBootServiceManager.java
+++ b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/manager/PluginBootServiceManager.java
@@ -18,10 +18,13 @@
package org.apache.shardingsphere.agent.core.plugin.manager;
import java.util.Map;
+import java.util.Set;
import lombok.extern.slf4j.Slf4j;
+import org.apache.shardingsphere.agent.config.AgentConfiguration;
import org.apache.shardingsphere.agent.config.PluginConfiguration;
+import org.apache.shardingsphere.agent.core.config.cache.AgentObjectPool;
import org.apache.shardingsphere.agent.core.spi.AgentTypedSPIRegistry;
-import org.apache.shardingsphere.agent.spi.PluginBootService;
+import org.apache.shardingsphere.agent.spi.boot.PluginBootService;
/**
* Plugin boot service manager.
@@ -35,9 +38,13 @@ public final class PluginBootServiceManager {
* @param pluginConfigurationMap plugin configuration map
*/
public static void startAllServices(final Map<String, PluginConfiguration> pluginConfigurationMap) {
+ Set<String> ignoredPluginNames = AgentObjectPool.INSTANCE.get(AgentConfiguration.class).getIgnoredPluginNames();
for (Map.Entry<String, PluginConfiguration> entry: pluginConfigurationMap.entrySet()) {
AgentTypedSPIRegistry.getRegisteredServiceOptional(PluginBootService.class, entry.getKey()).ifPresent(pluginBootService -> {
try {
+ if (!ignoredPluginNames.isEmpty() && ignoredPluginNames.contains(pluginBootService.getType())) {
+ return;
+ }
pluginBootService.start(entry.getValue());
// CHECKSTYLE:OFF
} catch (final Throwable ex) {
diff --git a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/spi/AgentTypedSPIRegistry.java b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/spi/AgentTypedSPIRegistry.java
index 97398d0..41e8464 100644
--- a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/spi/AgentTypedSPIRegistry.java
+++ b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/spi/AgentTypedSPIRegistry.java
@@ -22,7 +22,7 @@ import java.util.Optional;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.agent.core.exception.AgentServiceProviderNotFoundException;
-import org.apache.shardingsphere.agent.spi.AgentTypedSPI;
+import org.apache.shardingsphere.agent.spi.type.AgentTypedSPI;
/**
* Agent typed SPI registry.
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/MetricsRegisterFactory.java b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/spi/PluginServiceLoader.java
similarity index 54%
copy from shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/MetricsRegisterFactory.java
copy to shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/spi/PluginServiceLoader.java
index 4a460d3..b9de9e1 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/MetricsRegisterFactory.java
+++ b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/spi/PluginServiceLoader.java
@@ -15,19 +15,31 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.agent.metrics.api;
+package org.apache.shardingsphere.agent.core.spi;
-import org.apache.shardingsphere.agent.spi.AgentTypedSPI;
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ServiceLoader;
+import org.apache.shardingsphere.agent.core.plugin.loader.PluginLoader;
/**
- * Metrics register factory.
+ * Plugin service loader.
*/
-public interface MetricsRegisterFactory extends AgentTypedSPI {
+public final class PluginServiceLoader {
/**
- * New instance metrics register.
+ * New service instances.
*
- * @return the metrics register
+ * @param service service type
+ * @param <T> type of class
+ * @return service instances
*/
- MetricsRegister newInstance();
+ public static <T> Collection<T> newServiceInstances(final Class<T> service) {
+ List<T> result = new LinkedList<>();
+ for (T each : ServiceLoader.load(service, PluginLoader.getInstance())) {
+ result.add(each);
+ }
+ return result;
+ }
}
diff --git a/shardingsphere-agent/shardingsphere-agent-distribution/src/main/resources/conf/agent.yaml b/shardingsphere-agent/shardingsphere-agent-distribution/src/main/resources/conf/agent.yaml
index c71353c..4e6ece9 100644
--- a/shardingsphere-agent/shardingsphere-agent-distribution/src/main/resources/conf/agent.yaml
+++ b/shardingsphere-agent/shardingsphere-agent-distribution/src/main/resources/conf/agent.yaml
@@ -18,7 +18,7 @@
applicationName: shardingsphere-agent
metricsType : Prometheus
ignoredPluginNames:
- - test
+ - Jaeger
plugins:
prometheus:
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/pom.xml b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/pom.xml
index 6329b54..c2c6b55 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/pom.xml
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/pom.xml
@@ -34,7 +34,6 @@
</modules>
<properties>
- <entrypoint.class />
<logging.target.directory>${project.basedir}/../target/plugins</logging.target.directory>
</properties>
@@ -50,13 +49,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifestEntries>
- <Entrypoint>${entrypoint.class}</Entrypoint>
- </manifestEntries>
- </archive>
- </configuration>
</plugin>
<plugin>
<artifactId>maven-shade-plugin</artifactId>
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/pom.xml b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/pom.xml
index 75bce1d..cbc62ed 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/pom.xml
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/pom.xml
@@ -28,10 +28,6 @@
<artifactId>shardingsphere-agent-logging-base</artifactId>
<name>${project.artifactId}</name>
- <properties>
- <entrypoint.class>org.apache.shardingsphere.agent.plugin.logging.base.definition.BaseLoggingPluginDefinition</entrypoint.class>
- </properties>
-
<dependencies>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinition.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java
similarity index 83%
rename from shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinition.java
rename to shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java
index 982cd38..7d475ee 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinition.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java
@@ -18,12 +18,12 @@
package org.apache.shardingsphere.agent.plugin.logging.base.definition;
import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.api.definition.PluginDefinition;
+import org.apache.shardingsphere.agent.spi.definition.AbstractPluginDefinitionService;
/**
- * Base logging plugin definition.
+ * Base logging plugin definition service.
*/
-public final class BaseLoggingPluginDefinition extends PluginDefinition {
+public final class BaseLoggingPluginDefinitionService extends AbstractPluginDefinitionService {
private static final String SCHEMA_METADATA_LOADER_CLASS = "org.apache.shardingsphere.infra.metadata.schema.builder.loader.SchemaMetaDataLoader";
@@ -31,15 +31,16 @@ public final class BaseLoggingPluginDefinition extends PluginDefinition {
private static final String SCHEMA_METADATA_LOADER_ADVICE_CLASS = "org.apache.shardingsphere.agent.plugin.logging.base.advice.SchemaMetaDataLoaderAdvice";
- public BaseLoggingPluginDefinition() {
- super("base-logging");
- }
-
@Override
- protected void define() {
+ public void define() {
intercept(SCHEMA_METADATA_LOADER_CLASS)
.aroundClassStaticMethod(ElementMatchers.named(SCHEMA_METADATA_LOADER_METHOD_NAME))
.implement(SCHEMA_METADATA_LOADER_ADVICE_CLASS)
.build();
}
+
+ @Override
+ public String getType() {
+ return "Logging";
+ }
}
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.definition.PluginDefinitionService
similarity index 88%
copy from shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
copy to shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.definition.PluginDefinitionService
index 576ca6d..f78ffaf 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-logging/shardingsphere-agent-logging-base/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.definition.PluginDefinitionService
@@ -15,4 +15,4 @@
# limitations under the License.
#
-org.apache.shardingsphere.agent.plugin.tracing.zipkin.service.ZipkinTracingPluginBootService
+org.apache.shardingsphere.agent.plugin.logging.base.definition.BaseLoggingPluginDefinitionService
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/pom.xml b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/pom.xml
index b503b05..54692a0 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/pom.xml
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/pom.xml
@@ -28,10 +28,6 @@
<artifactId>shardingsphere-agent-metrics-api</artifactId>
<name>${project.artifactId}</name>
- <properties>
- <entrypoint.class>org.apache.shardingsphere.agent.metrics.api.definition.MetricsPluginDefinition</entrypoint.class>
- </properties>
-
<dependencies>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
@@ -52,13 +48,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifestEntries>
- <Entrypoint>${entrypoint.class}</Entrypoint>
- </manifestEntries>
- </archive>
- </configuration>
</plugin>
</plugins>
</build>
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/MetricsRegisterFactory.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/MetricsRegisterFactory.java
index 4a460d3..75553ee 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/MetricsRegisterFactory.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/MetricsRegisterFactory.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.agent.metrics.api;
-import org.apache.shardingsphere.agent.spi.AgentTypedSPI;
+import org.apache.shardingsphere.agent.spi.type.AgentTypedSPI;
/**
* Metrics register factory.
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/definition/MetricsPluginDefinition.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/definition/MetricsPluginDefinitionService.java
similarity index 91%
rename from shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/definition/MetricsPluginDefinition.java
rename to shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/definition/MetricsPluginDefinitionService.java
index 60449e0..249c84b 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/definition/MetricsPluginDefinition.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-api/src/main/java/org/apache/shardingsphere/agent/metrics/api/definition/MetricsPluginDefinitionService.java
@@ -18,13 +18,13 @@
package org.apache.shardingsphere.agent.metrics.api.definition;
import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.api.definition.PluginDefinition;
+import org.apache.shardingsphere.agent.spi.definition.AbstractPluginDefinitionService;
import org.apache.shardingsphere.agent.metrics.api.constant.MethodNameConstant;
/**
- * Metrics plugin definition.
+ * Metrics plugin definition service.
*/
-public final class MetricsPluginDefinition extends PluginDefinition {
+public final class MetricsPluginDefinitionService extends AbstractPluginDefinitionService {
private static final String COMMAND_EXECUTOR_TASK_ENHANCE_CLASS = "org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask";
@@ -42,12 +42,8 @@ public final class MetricsPluginDefinition extends PluginDefinition {
private static final String TRANSACTION_ADVICE_CLASS = "org.apache.shardingsphere.agent.metrics.api.advice.TransactionAdvice";
- public MetricsPluginDefinition() {
- super("Metrics");
- }
-
@Override
- protected void define() {
+ public void define() {
intercept(COMMAND_EXECUTOR_TASK_ENHANCE_CLASS)
.aroundInstanceMethod(ElementMatchers.named(MethodNameConstant.COMMAND_EXECUTOR_RUN))
.implement(COMMAND_EXECUTOR_TASK_ADVICE_CLASS)
@@ -66,4 +62,9 @@ public final class MetricsPluginDefinition extends PluginDefinition {
.implement(TRANSACTION_ADVICE_CLASS)
.build();
}
+
+ @Override
+ public String getType() {
+ return "Metrics";
+ }
}
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/pom.xml b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/pom.xml
index ef1e45b..71f345e 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/pom.xml
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/pom.xml
@@ -31,7 +31,6 @@
<properties>
<prometheus.version>0.6.0</prometheus.version>
<prometheus.jmx.version>0.10</prometheus.jmx.version>
- <entrypoint.class>org.apache.shardingsphere.agent.metrics.api.definition.MetricsPluginDefinition</entrypoint.class>
</properties>
<dependencies>
@@ -68,13 +67,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifestEntries>
- <Entrypoint>${entrypoint.class}</Entrypoint>
- </manifestEntries>
- </archive>
- </configuration>
</plugin>
<plugin>
<artifactId>maven-shade-plugin</artifactId>
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/service/PrometheusPluginBootService.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/service/PrometheusPluginBootService.java
index 3f61d34..1e46edb 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/service/PrometheusPluginBootService.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/service/PrometheusPluginBootService.java
@@ -22,7 +22,7 @@ import io.prometheus.client.exporter.HTTPServer;
import io.prometheus.client.hotspot.DefaultExports;
import lombok.extern.slf4j.Slf4j;
import org.apache.shardingsphere.agent.config.PluginConfiguration;
-import org.apache.shardingsphere.agent.spi.PluginBootService;
+import org.apache.shardingsphere.agent.spi.boot.PluginBootService;
import org.apache.shardingsphere.agent.metrics.prometheus.collector.BuildInfoCollector;
import java.io.IOException;
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.boot.PluginBootService
similarity index 100%
copy from shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
copy to shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.boot.PluginBootService
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.definition.PluginDefinitionService
similarity index 90%
rename from shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
rename to shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.definition.PluginDefinitionService
index de7ecdf..435a07f 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.definition.PluginDefinitionService
@@ -15,4 +15,4 @@
# limitations under the License.
#
-org.apache.shardingsphere.agent.metrics.prometheus.service.PrometheusPluginBootService
+org.apache.shardingsphere.agent.metrics.api.definition.MetricsPluginDefinitionService
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/pom.xml b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/pom.xml
index 695b0fd..a910036 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/pom.xml
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/pom.xml
@@ -35,7 +35,6 @@
</modules>
<properties>
- <entrypoint.class/>
<tracing.target.directory>${project.basedir}/../target/plugins</tracing.target.directory>
</properties>
@@ -55,13 +54,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifestEntries>
- <Entrypoint>${entrypoint.class}</Entrypoint>
- </manifestEntries>
- </archive>
- </configuration>
</plugin>
<plugin>
<artifactId>maven-shade-plugin</artifactId>
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/pom.xml b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/pom.xml
index 37d59bd..2422c05 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/pom.xml
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/pom.xml
@@ -31,7 +31,6 @@
<properties>
<jaeger-client.version>0.31.0</jaeger-client.version>
<opentracing.version>0.31.0</opentracing.version>
- <entrypoint.class>org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition.JaegerPluginDefinition</entrypoint.class>
</properties>
<dependencies>
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinition.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java
similarity index 91%
rename from shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinition.java
rename to shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java
index eedf235..fb94094 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinition.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java
@@ -18,12 +18,12 @@
package org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition;
import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.api.definition.PluginDefinition;
+import org.apache.shardingsphere.agent.spi.definition.AbstractPluginDefinitionService;
/**
- * Jaeger plugin definition.
+ * Jaeger plugin definition service.
*/
-public final class JaegerPluginDefinition extends PluginDefinition {
+public final class JaegerPluginDefinitionService extends AbstractPluginDefinitionService {
private static final String COMMAND_EXECUTOR_TASK_ENHANCE_CLASS = "org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask";
@@ -45,12 +45,8 @@ public final class JaegerPluginDefinition extends PluginDefinition {
private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS = "org.apache.shardingsphere.agent.plugin.tracing.advice.JDBCExecutorCallbackAdvice";
- public JaegerPluginDefinition() {
- super("Jaeger");
- }
-
@Override
- protected void define() {
+ public void define() {
intercept(COMMAND_EXECUTOR_TASK_ENHANCE_CLASS)
.aroundInstanceMethod(ElementMatchers.named(COMMAND_EXECUTOR_METHOD_NAME))
.implement(COMMAND_EXECUTOR_TASK_ADVICE_CLASS)
@@ -67,4 +63,9 @@ public final class JaegerPluginDefinition extends PluginDefinition {
.implement(JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS)
.build();
}
+
+ @Override
+ public String getType() {
+ return "Jaeger";
+ }
}
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootService.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootService.java
index 474109c..f66c22d 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootService.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/service/JaegerTracingPluginBootService.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.agent.plugin.tracing.jaeger.service;
import io.jaegertracing.Configuration;
import io.opentracing.util.GlobalTracer;
import org.apache.shardingsphere.agent.config.PluginConfiguration;
-import org.apache.shardingsphere.agent.spi.PluginBootService;
+import org.apache.shardingsphere.agent.spi.boot.PluginBootService;
/**
* Jaeger tracing plugin boot service.
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.boot.PluginBootService
similarity index 100%
rename from shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
rename to shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.boot.PluginBootService
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.definition.PluginDefinitionService
similarity index 89%
copy from shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
copy to shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.definition.PluginDefinitionService
index 576ca6d..3ddbb2b 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.definition.PluginDefinitionService
@@ -15,4 +15,4 @@
# limitations under the License.
#
-org.apache.shardingsphere.agent.plugin.tracing.zipkin.service.ZipkinTracingPluginBootService
+org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition.JaegerPluginDefinitionService
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/pom.xml b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/pom.xml
index 9e8b524..ce189ac 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/pom.xml
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/pom.xml
@@ -31,7 +31,6 @@
<properties>
<zipkin-reporter.version>2.16.2</zipkin-reporter.version>
<zipkin-brave.version>5.13.2</zipkin-brave.version>
- <entrypoint.class>org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition.ZipkinPluginDefinition</entrypoint.class>
</properties>
<dependencies>
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinition.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java
similarity index 91%
rename from shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinition.java
rename to shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java
index 2bacce0..f8e8b0e 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinition.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java
@@ -18,12 +18,12 @@
package org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition;
import net.bytebuddy.matcher.ElementMatchers;
-import org.apache.shardingsphere.agent.api.definition.PluginDefinition;
+import org.apache.shardingsphere.agent.spi.definition.AbstractPluginDefinitionService;
/**
- * Zipkin plugin definition.
+ * Zipkin plugin definition service.
*/
-public final class ZipkinPluginDefinition extends PluginDefinition {
+public final class ZipkinPluginDefinitionService extends AbstractPluginDefinitionService {
private static final String COMMAND_EXECUTOR_TASK_ENHANCE_CLASS = "org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask";
@@ -45,12 +45,8 @@ public final class ZipkinPluginDefinition extends PluginDefinition {
private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS = "org.apache.shardingsphere.agent.plugin.tracing.zipkin.advice.JDBCExecutorCallbackAdvice";
- public ZipkinPluginDefinition() {
- super("Zipkin");
- }
-
@Override
- protected void define() {
+ public void define() {
intercept(COMMAND_EXECUTOR_TASK_ENHANCE_CLASS)
.aroundInstanceMethod(ElementMatchers.named(COMMAND_EXECUTOR_METHOD_NAME))
.implement(COMMAND_EXECUTOR_TASK_ADVICE_CLASS)
@@ -66,4 +62,9 @@ public final class ZipkinPluginDefinition extends PluginDefinition {
.implement(JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS)
.build();
}
+
+ @Override
+ public String getType() {
+ return "Zipkin";
+ }
}
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java
index c021c62..949cf87 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.agent.plugin.tracing.zipkin.service;
import brave.Tracing;
import org.apache.shardingsphere.agent.config.PluginConfiguration;
-import org.apache.shardingsphere.agent.spi.PluginBootService;
+import org.apache.shardingsphere.agent.spi.boot.PluginBootService;
import zipkin2.reporter.brave.AsyncZipkinSpanHandler;
import zipkin2.reporter.okhttp3.OkHttpSender;
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.boot.PluginBootService
similarity index 100%
copy from shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
copy to shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.boot.PluginBootService
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.definition.PluginDefinitionService
similarity index 89%
rename from shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
rename to shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.definition.PluginDefinitionService
index 576ca6d..988b0de 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PluginBootService
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.definition.PluginDefinitionService
@@ -15,4 +15,4 @@
# limitations under the License.
#
-org.apache.shardingsphere.agent.plugin.tracing.zipkin.service.ZipkinTracingPluginBootService
+org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition.ZipkinPluginDefinitionService