This is an automated email from the ASF dual-hosted git repository.
sunnianjun 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 d214d49f4ff Rename pointcut to adviser (#22854)
d214d49f4ff is described below
commit d214d49f4ff2d99016e16c4b3110689741cd27c9
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Dec 13 19:24:19 2022 +0800
Rename pointcut to adviser (#22854)
* Unify InterceptorPoint to Pointcut
* Rename pointcut to adviser
* Fix checkstyle
---
.../ClassAdvisor.java} | 12 +--
.../ConstructorAdvisor.java} | 6 +-
.../InstanceMethodAdvisor.java} | 8 +-
.../StaticMethodAdvisor.java} | 8 +-
...nService.java => AdvisorDefinitionService.java} | 18 ++---
.../AdvisorDefinitionServiceEngine.java} | 28 +++----
.../ClassAdvisorRegistry.java} | 28 +++----
.../ClassAdvisorRegistryFactory.java} | 16 ++--
.../transformer/ShardingSphereTransformer.java | 86 +++++++++++-----------
.../agent/core/plugin/AgentPluginLoader.java | 32 ++++----
.../agent/core/plugin/PluginLoader.java | 8 +-
.../transformer/ShardingSphereTransformerTest.java | 38 +++++-----
.../core/plugin/loader/AgentPluginLoaderTest.java | 22 +++---
...va => BaseLoggingAdvisorDefinitionService.java} | 34 ++++-----
...rdingsphere.agent.spi.AdvisorDefinitionService} | 2 +-
...ava => PrometheusAdvisorDefinitionService.java} | 36 ++++-----
...rdingsphere.agent.spi.AdvisorDefinitionService} | 2 +-
...=> PrometheusAdvisorDefinitionServiceTest.java} | 6 +-
.../tracing/core/advice/TracingAdviceEngine.java | 29 ++++----
.../core/advice/adviser/TracingAdviser.java | 8 +-
.../adviser/impl/CommandExecutorTaskAdviser.java | 14 ++--
.../adviser/impl/JDBCExecutorCallbackAdviser.java | 14 ++--
.../adviser/impl/SQLParserEngineAdviser.java | 14 ++--
...ce.java => JaegerAdvisorDefinitionService.java} | 18 ++---
...rdingsphere.agent.spi.AdvisorDefinitionService} | 2 +-
...ava => JaegerAdvisorDefinitionServiceTest.java} | 6 +-
...nTelemetryTracingAdvisorDefinitionService.java} | 18 ++---
...rdingsphere.agent.spi.AdvisorDefinitionService} | 2 +-
...emetryTracingAdvisorDefinitionServiceTest.java} | 6 +-
...va => OpenTracingAdvisorDefinitionService.java} | 18 ++---
...rdingsphere.agent.spi.AdvisorDefinitionService} | 2 +-
...> OpenTracingAdvisorDefinitionServiceTest.java} | 6 +-
...ce.java => ZipkinAdvisorDefinitionService.java} | 18 ++---
...rdingsphere.agent.spi.AdvisorDefinitionService} | 2 +-
...ava => ZipkinAdvisorDefinitionServiceTest.java} | 6 +-
docs/document/content/dev-manual/agent.cn.md | 12 +--
docs/document/content/dev-manual/agent.en.md | 12 +--
37 files changed, 294 insertions(+), 303 deletions(-)
diff --git
a/agent/api/src/main/java/org/apache/shardingsphere/agent/pointcut/ClassPointcuts.java
b/agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/ClassAdvisor.java
similarity index 72%
rename from
agent/api/src/main/java/org/apache/shardingsphere/agent/pointcut/ClassPointcuts.java
rename to
agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/ClassAdvisor.java
index 545680a7fc3..409bfd909eb 100644
---
a/agent/api/src/main/java/org/apache/shardingsphere/agent/pointcut/ClassPointcuts.java
+++
b/agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/ClassAdvisor.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.agent.pointcut;
+package org.apache.shardingsphere.agent.advisor;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
@@ -24,17 +24,17 @@ import java.util.Collection;
import java.util.LinkedList;
/**
- * Class pointcuts.
+ * Class advisor.
*/
@RequiredArgsConstructor
@Getter
-public final class ClassPointcuts {
+public final class ClassAdvisor {
private final String targetClassName;
- private final Collection<ConstructorPointcut> constructorPointcuts = new
LinkedList<>();
+ private final Collection<ConstructorAdvisor> constructorAdvisors = new
LinkedList<>();
- private final Collection<InstanceMethodPointcut> instanceMethodPointcuts =
new LinkedList<>();
+ private final Collection<InstanceMethodAdvisor> instanceMethodAdvisors =
new LinkedList<>();
- private final Collection<StaticMethodPointcut> staticMethodPointcuts = new
LinkedList<>();
+ private final Collection<StaticMethodAdvisor> staticMethodAdvisors = new
LinkedList<>();
}
diff --git
a/agent/api/src/main/java/org/apache/shardingsphere/agent/pointcut/ConstructorPointcut.java
b/agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/ConstructorAdvisor.java
similarity index 90%
rename from
agent/api/src/main/java/org/apache/shardingsphere/agent/pointcut/ConstructorPointcut.java
rename to
agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/ConstructorAdvisor.java
index 385cd5c2a50..13f763f3669 100644
---
a/agent/api/src/main/java/org/apache/shardingsphere/agent/pointcut/ConstructorPointcut.java
+++
b/agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/ConstructorAdvisor.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.agent.pointcut;
+package org.apache.shardingsphere.agent.advisor;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
@@ -23,11 +23,11 @@ import net.bytebuddy.description.method.MethodDescription;
import net.bytebuddy.matcher.ElementMatcher;
/**
- * Constructor Pointcut.
+ * Constructor advisor.
*/
@RequiredArgsConstructor
@Getter
-public final class ConstructorPointcut {
+public final class ConstructorAdvisor {
private final ElementMatcher<? super MethodDescription> matcher;
diff --git
a/agent/api/src/main/java/org/apache/shardingsphere/agent/pointcut/InstanceMethodPointcut.java
b/agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/InstanceMethodAdvisor.java
similarity index 83%
rename from
agent/api/src/main/java/org/apache/shardingsphere/agent/pointcut/InstanceMethodPointcut.java
rename to
agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/InstanceMethodAdvisor.java
index 7317313f1cb..4dbe776c722 100644
---
a/agent/api/src/main/java/org/apache/shardingsphere/agent/pointcut/InstanceMethodPointcut.java
+++
b/agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/InstanceMethodAdvisor.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.agent.pointcut;
+package org.apache.shardingsphere.agent.advisor;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
@@ -23,11 +23,11 @@ import net.bytebuddy.description.method.MethodDescription;
import net.bytebuddy.matcher.ElementMatcher;
/**
- * Instance method pointcut.
+ * Instance method advisor.
*/
@RequiredArgsConstructor
@Getter
-public final class InstanceMethodPointcut {
+public final class InstanceMethodAdvisor {
private final ElementMatcher<? super MethodDescription> matcher;
@@ -35,7 +35,7 @@ public final class InstanceMethodPointcut {
private final boolean overrideArgs;
- public InstanceMethodPointcut(final ElementMatcher<? super
MethodDescription> matcher, final String adviceClassName) {
+ public InstanceMethodAdvisor(final ElementMatcher<? super
MethodDescription> matcher, final String adviceClassName) {
this(matcher, adviceClassName, false);
}
}
diff --git
a/agent/api/src/main/java/org/apache/shardingsphere/agent/pointcut/StaticMethodPointcut.java
b/agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/StaticMethodAdvisor.java
similarity index 83%
rename from
agent/api/src/main/java/org/apache/shardingsphere/agent/pointcut/StaticMethodPointcut.java
rename to
agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/StaticMethodAdvisor.java
index e5dd805ec1e..3a07cc8142d 100644
---
a/agent/api/src/main/java/org/apache/shardingsphere/agent/pointcut/StaticMethodPointcut.java
+++
b/agent/api/src/main/java/org/apache/shardingsphere/agent/advisor/StaticMethodAdvisor.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.agent.pointcut;
+package org.apache.shardingsphere.agent.advisor;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
@@ -23,11 +23,11 @@ import net.bytebuddy.description.method.MethodDescription;
import net.bytebuddy.matcher.ElementMatcher;
/**
- * Static method pointcut.
+ * Static method advisor.
*/
@RequiredArgsConstructor
@Getter
-public final class StaticMethodPointcut {
+public final class StaticMethodAdvisor {
private final ElementMatcher<? super MethodDescription> matcher;
@@ -35,7 +35,7 @@ public final class StaticMethodPointcut {
private final boolean overrideArgs;
- public StaticMethodPointcut(final ElementMatcher<? super
MethodDescription> matcher, final String adviceClassName) {
+ public StaticMethodAdvisor(final ElementMatcher<? super MethodDescription>
matcher, final String adviceClassName) {
this(matcher, adviceClassName, false);
}
}
diff --git
a/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PointcutDefinitionService.java
b/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/AdvisorDefinitionService.java
similarity index 71%
rename from
agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PointcutDefinitionService.java
rename to
agent/api/src/main/java/org/apache/shardingsphere/agent/spi/AdvisorDefinitionService.java
index 2fe311644d5..9fb5bba0c5e 100644
---
a/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/PointcutDefinitionService.java
+++
b/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/AdvisorDefinitionService.java
@@ -17,26 +17,26 @@
package org.apache.shardingsphere.agent.spi;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
+import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
import java.util.Collection;
/**
- * Pointcut definition service.
+ * Advisor definition service.
*/
-public interface PointcutDefinitionService extends AgentSPI {
+public interface AdvisorDefinitionService extends AgentSPI {
/**
- * Get proxy pointcuts.
+ * Get proxy advisors.
*
- * @return proxy pointcuts
+ * @return proxy advisors
*/
- Collection<ClassPointcuts> getProxyPointcuts();
+ Collection<ClassAdvisor> getProxyAdvisors();
/**
- * Get JDBC pointcuts.
+ * Get JDBC advisors.
*
- * @return JDBC pointcuts
+ * @return JDBC advisors
*/
- Collection<ClassPointcuts> getJDBCPointcuts();
+ Collection<ClassAdvisor> getJDBCAdvisors();
}
diff --git
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/definition/PointcutDefinitionServiceEngine.java
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/AdvisorDefinitionServiceEngine.java
similarity index 55%
rename from
agent/core/src/main/java/org/apache/shardingsphere/agent/core/definition/PointcutDefinitionServiceEngine.java
rename to
agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/AdvisorDefinitionServiceEngine.java
index 5eb46e1742b..21d5dfba3fb 100644
---
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/definition/PointcutDefinitionServiceEngine.java
+++
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/AdvisorDefinitionServiceEngine.java
@@ -15,39 +15,39 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.agent.core.definition;
+package org.apache.shardingsphere.agent.core.advisor;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
-import org.apache.shardingsphere.agent.spi.PointcutDefinitionService;
+import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.spi.AdvisorDefinitionService;
import java.util.Collection;
/**
- * Pointcut definition service engine.
+ * Advisor definition service engine.
*/
@RequiredArgsConstructor
-public final class PointcutDefinitionServiceEngine {
+public final class AdvisorDefinitionServiceEngine {
- private final PointcutDefinitionService pointcutDefinitionService;
+ private final AdvisorDefinitionService advisorDefinitionService;
/**
- * Get pointcuts.
+ * Get advisors.
*
* @param targetClassName target class name
- * @return pointcuts
+ * @return advisors
*/
- public ClassPointcuts getAllPointcuts(final String targetClassName) {
- return
ClassPointcutsRegistryFactory.getRegistry(pointcutDefinitionService.getType()).getClassPointcuts(targetClassName);
+ public ClassAdvisor getAdvisors(final String targetClassName) {
+ return
ClassAdvisorRegistryFactory.getRegistry(advisorDefinitionService.getType()).getAdvisor(targetClassName);
}
/**
- * Get all pointcuts.
+ * Get all advisors.
*
* @param isEnhancedForProxy is enhanced for proxy
- * @return all pointcuts
+ * @return all advisors
*/
- public Collection<ClassPointcuts> getAllPointcuts(final boolean
isEnhancedForProxy) {
- return isEnhancedForProxy ?
pointcutDefinitionService.getProxyPointcuts() :
pointcutDefinitionService.getJDBCPointcuts();
+ public Collection<ClassAdvisor> getAllAdvisors(final boolean
isEnhancedForProxy) {
+ return isEnhancedForProxy ?
advisorDefinitionService.getProxyAdvisors() :
advisorDefinitionService.getJDBCAdvisors();
}
}
diff --git
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/definition/ClassPointcutsRegistry.java
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/ClassAdvisorRegistry.java
similarity index 57%
rename from
agent/core/src/main/java/org/apache/shardingsphere/agent/core/definition/ClassPointcutsRegistry.java
rename to
agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/ClassAdvisorRegistry.java
index f76882b3cb1..6f1a43fe390 100644
---
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/definition/ClassPointcutsRegistry.java
+++
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/ClassAdvisorRegistry.java
@@ -15,37 +15,27 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.agent.core.definition;
+package org.apache.shardingsphere.agent.core.advisor;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
+import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
-import java.util.Collection;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
- * Class pointcuts registry.
+ * Class advisor registry.
*/
-public final class ClassPointcutsRegistry {
+public final class ClassAdvisorRegistry {
- private final Map<String, ClassPointcuts> pointcutsMap = new
ConcurrentHashMap<>();
+ private final Map<String, ClassAdvisor> advisors = new
ConcurrentHashMap<>();
/**
- * Get class pointcuts.
+ * Get class advisor.
*
* @param targetClassName target class name to be intercepted
- * @return class pointcuts
+ * @return class advisor
*/
- public ClassPointcuts getClassPointcuts(final String targetClassName) {
- return pointcutsMap.computeIfAbsent(targetClassName,
ClassPointcuts::new);
- }
-
- /**
- * Get all class pointcuts.
- *
- * @return all class pointcuts
- */
- public Collection<ClassPointcuts> getAllClassPointcuts() {
- return pointcutsMap.values();
+ public ClassAdvisor getAdvisor(final String targetClassName) {
+ return advisors.computeIfAbsent(targetClassName, ClassAdvisor::new);
}
}
diff --git
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/definition/ClassPointcutsRegistryFactory.java
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/ClassAdvisorRegistryFactory.java
similarity index 72%
rename from
agent/core/src/main/java/org/apache/shardingsphere/agent/core/definition/ClassPointcutsRegistryFactory.java
rename to
agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/ClassAdvisorRegistryFactory.java
index 0a909f443cc..f3951f67c40 100644
---
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/definition/ClassPointcutsRegistryFactory.java
+++
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/advisor/ClassAdvisorRegistryFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.agent.core.definition;
+package org.apache.shardingsphere.agent.core.advisor;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
@@ -24,20 +24,20 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
- * Class pointcuts registry factory.
+ * Class advisor registry factory.
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class ClassPointcutsRegistryFactory {
+public final class ClassAdvisorRegistryFactory {
- private static final Map<String, ClassPointcutsRegistry> REGISTRIES = new
ConcurrentHashMap<>();
+ private static final Map<String, ClassAdvisorRegistry> REGISTRIES = new
ConcurrentHashMap<>();
/**
- * Get class pointcuts registry.
+ * Get class advisor registry.
*
* @param key registry key
- * @return class pointcuts registry
+ * @return class advisor registry
*/
- public static ClassPointcutsRegistry getRegistry(final String key) {
- return REGISTRIES.computeIfAbsent(key, each -> new
ClassPointcutsRegistry());
+ public static ClassAdvisorRegistry getRegistry(final String key) {
+ return REGISTRIES.computeIfAbsent(key, each -> new
ClassAdvisorRegistry());
}
}
diff --git
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformer.java
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformer.java
index 5ddc7b87d03..ae19ec84651 100644
---
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformer.java
+++
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformer.java
@@ -30,15 +30,15 @@ import net.bytebuddy.implementation.bind.annotation.Morph;
import net.bytebuddy.jar.asm.Opcodes;
import net.bytebuddy.matcher.ElementMatchers;
import net.bytebuddy.utility.JavaModule;
+import org.apache.shardingsphere.agent.advisor.StaticMethodAdvisor;
import org.apache.shardingsphere.agent.core.plugin.TargetAdviceObject;
import
org.apache.shardingsphere.agent.core.plugin.advice.StaticMethodAroundAdvice;
import org.apache.shardingsphere.agent.core.plugin.advice.ConstructorAdvice;
import
org.apache.shardingsphere.agent.core.plugin.advice.InstanceMethodAroundAdvice;
import org.apache.shardingsphere.agent.core.plugin.OverrideArgsInvoker;
-import org.apache.shardingsphere.agent.pointcut.StaticMethodPointcut;
-import org.apache.shardingsphere.agent.pointcut.ConstructorPointcut;
-import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
+import org.apache.shardingsphere.agent.advisor.ConstructorAdvisor;
+import org.apache.shardingsphere.agent.advisor.InstanceMethodAdvisor;
+import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
import org.apache.shardingsphere.agent.core.logging.LoggerFactory;
import org.apache.shardingsphere.agent.core.plugin.PluginLoader;
import
org.apache.shardingsphere.agent.core.plugin.interceptor.StaticMethodAroundInterceptor;
@@ -76,18 +76,18 @@ public final class ShardingSphereTransformer implements
Transformer {
return builder;
}
Builder<?> result = builder.defineField(EXTRA_DATA, Object.class,
Opcodes.ACC_PRIVATE |
Opcodes.ACC_VOLATILE).implement(TargetAdviceObject.class).intercept(FieldAccessor.ofField(EXTRA_DATA));
- ClassPointcuts classPointcuts =
pluginLoader.loadPluginInterceptorPoint(typeDescription);
- result = interceptConstructor(typeDescription,
classPointcuts.getConstructorPointcuts(), result, classLoader);
- result = interceptStaticMethod(typeDescription,
classPointcuts.getStaticMethodPointcuts(), result, classLoader);
- result = interceptInstanceMethod(typeDescription,
classPointcuts.getInstanceMethodPointcuts(), result, classLoader);
+ ClassAdvisor classAdvisor =
pluginLoader.loadPluginAdvisor(typeDescription);
+ result = interceptConstructor(typeDescription,
classAdvisor.getConstructorAdvisors(), result, classLoader);
+ result = interceptStaticMethod(typeDescription,
classAdvisor.getStaticMethodAdvisors(), result, classLoader);
+ result = interceptInstanceMethod(typeDescription,
classAdvisor.getInstanceMethodAdvisors(), result, classLoader);
return result;
}
private Builder<?> interceptConstructor(final TypeDescription description,
- final
Collection<ConstructorPointcut> constructorPointcuts, final Builder<?> builder,
final ClassLoader classLoader) {
+ final
Collection<ConstructorAdvisor> constructorAdvisors, final Builder<?> builder,
final ClassLoader classLoader) {
Collection<ShardingSphereTransformationPoint<? extends
ConstructorInterceptor>> constructorAdviceComposePoints =
description.getDeclaredMethods().stream()
.filter(MethodDescription::isConstructor)
- .map(each ->
getMatchedTransformationPoint(constructorPointcuts, each, classLoader))
+ .map(each ->
getMatchedTransformationPoint(constructorAdvisors, each, classLoader))
.filter(Objects::nonNull)
.collect(Collectors.toList());
Builder<?> result = builder;
@@ -104,29 +104,29 @@ public final class ShardingSphereTransformer implements
Transformer {
return result;
}
- private ShardingSphereTransformationPoint<? extends
ConstructorInterceptor> getMatchedTransformationPoint(final
Collection<ConstructorPointcut> constructorPointcuts,
+ private ShardingSphereTransformationPoint<? extends
ConstructorInterceptor> getMatchedTransformationPoint(final
Collection<ConstructorAdvisor> constructorAdvisors,
final InDefinedShape methodDescription, final
ClassLoader classLoader) {
- List<ConstructorPointcut> matchedConstructorPointcuts =
constructorPointcuts
+ List<ConstructorAdvisor> matchedConstructorAdvisors =
constructorAdvisors
.stream().filter(each ->
each.getMatcher().matches(methodDescription)).collect(Collectors.toList());
- if (matchedConstructorPointcuts.isEmpty()) {
+ if (matchedConstructorAdvisors.isEmpty()) {
return null;
}
- if (1 == matchedConstructorPointcuts.size()) {
+ if (1 == matchedConstructorAdvisors.size()) {
return new ShardingSphereTransformationPoint<>(
- methodDescription, new
ConstructorInterceptor(pluginLoader.getOrCreateInstance(matchedConstructorPointcuts.get(0).getAdviceClassName(),
classLoader)));
+ methodDescription, new
ConstructorInterceptor(pluginLoader.getOrCreateInstance(matchedConstructorAdvisors.get(0).getAdviceClassName(),
classLoader)));
}
- Collection<ConstructorAdvice> constructorAdvices =
matchedConstructorPointcuts.stream()
- .map(ConstructorPointcut::getAdviceClassName)
+ Collection<ConstructorAdvice> constructorAdvices =
matchedConstructorAdvisors.stream()
+ .map(ConstructorAdvisor::getAdviceClassName)
.map(each -> (ConstructorAdvice)
pluginLoader.getOrCreateInstance(each, classLoader))
.collect(Collectors.toList());
return new ShardingSphereTransformationPoint<>(methodDescription, new
ComposedConstructorInterceptor(constructorAdvices));
}
- private Builder<?> interceptStaticMethod(final TypeDescription
description, final Collection<StaticMethodPointcut> staticMethodPointcuts,
+ private Builder<?> interceptStaticMethod(final TypeDescription
description, final Collection<StaticMethodAdvisor> staticMethodAdvisors,
final Builder<?> builder, final
ClassLoader classLoader) {
Collection<ShardingSphereTransformationPoint<?>>
staticMethodAdvicePoints = description.getDeclaredMethods().stream()
.filter(each -> each.isStatic() && !(each.isAbstract() ||
each.isSynthetic()))
- .map(each ->
getMatchedStaticMethodPoint(staticMethodPointcuts, each, classLoader))
+ .map(each -> getMatchedStaticMethodPoint(staticMethodAdvisors,
each, classLoader))
.filter(Objects::nonNull)
.collect(Collectors.toList());
Builder<?> result = builder;
@@ -148,31 +148,31 @@ public final class ShardingSphereTransformer implements
Transformer {
return result;
}
- private ShardingSphereTransformationPoint<?>
getMatchedStaticMethodPoint(final Collection<StaticMethodPointcut>
staticMethodAroundPoints,
+ private ShardingSphereTransformationPoint<?>
getMatchedStaticMethodPoint(final Collection<StaticMethodAdvisor>
staticMethodAroundPoints,
final InDefinedShape methodDescription, final ClassLoader classLoader) {
- List<StaticMethodPointcut> staticMethodPointcuts =
staticMethodAroundPoints.stream().filter(each ->
each.getMatcher().matches(methodDescription)).collect(Collectors.toList());
- if (staticMethodPointcuts.isEmpty()) {
+ List<StaticMethodAdvisor> staticMethodAdvisors =
staticMethodAroundPoints.stream().filter(each ->
each.getMatcher().matches(methodDescription)).collect(Collectors.toList());
+ if (staticMethodAdvisors.isEmpty()) {
return null;
}
- if (1 == staticMethodPointcuts.size()) {
- return getSingleStaticMethodPoint(methodDescription,
staticMethodPointcuts.get(0), classLoader);
+ if (1 == staticMethodAdvisors.size()) {
+ return getSingleStaticMethodPoint(methodDescription,
staticMethodAdvisors.get(0), classLoader);
}
- return getComposedStaticMethodPoint(methodDescription,
staticMethodPointcuts, classLoader);
+ return getComposedStaticMethodPoint(methodDescription,
staticMethodAdvisors, classLoader);
}
private ShardingSphereTransformationPoint<?>
getSingleStaticMethodPoint(final InDefinedShape methodDescription,
-
final StaticMethodPointcut staticMethodPointcut, final ClassLoader classLoader)
{
- StaticMethodAroundAdvice staticMethodAroundAdvice =
pluginLoader.getOrCreateInstance(staticMethodPointcut.getAdviceClassName(),
classLoader);
- return staticMethodPointcut.isOverrideArgs()
+
final StaticMethodAdvisor staticMethodAdvisor, final ClassLoader classLoader) {
+ StaticMethodAroundAdvice staticMethodAroundAdvice =
pluginLoader.getOrCreateInstance(staticMethodAdvisor.getAdviceClassName(),
classLoader);
+ return staticMethodAdvisor.isOverrideArgs()
? new ShardingSphereTransformationPoint<>(methodDescription,
new StaticMethodInterceptorArgsOverride(staticMethodAroundAdvice))
: new ShardingSphereTransformationPoint<>(methodDescription,
new StaticMethodAroundInterceptor(staticMethodAroundAdvice));
}
private ShardingSphereTransformationPoint<?>
getComposedStaticMethodPoint(final InDefinedShape methodDescription,
-
final Collection<StaticMethodPointcut> staticMethodPointcuts, final ClassLoader
classLoader) {
+
final Collection<StaticMethodAdvisor> staticMethodAdvisors, final ClassLoader
classLoader) {
Collection<StaticMethodAroundAdvice> staticMethodAroundAdvices = new
LinkedList<>();
boolean isArgsOverride = false;
- for (StaticMethodPointcut each : staticMethodPointcuts) {
+ for (StaticMethodAdvisor each : staticMethodAdvisors) {
if (each.isOverrideArgs()) {
isArgsOverride = true;
}
@@ -184,11 +184,11 @@ public final class ShardingSphereTransformer implements
Transformer {
: new ShardingSphereTransformationPoint<>(methodDescription,
new ComposedStaticMethodAroundInterceptor(staticMethodAroundAdvices));
}
- private Builder<?> interceptInstanceMethod(final TypeDescription
description, final Collection<InstanceMethodPointcut> instanceMethodPointcuts,
+ private Builder<?> interceptInstanceMethod(final TypeDescription
description, final Collection<InstanceMethodAdvisor> instanceMethodAdvisors,
final Builder<?> builder, final
ClassLoader classLoader) {
Collection<ShardingSphereTransformationPoint<?>>
instanceMethodAdviceComposePoints = description.getDeclaredMethods().stream()
.filter(each -> !(each.isAbstract() || each.isSynthetic()))
- .map(each ->
getMatchedInstanceMethodPoint(instanceMethodPointcuts, each, classLoader))
+ .map(each ->
getMatchedInstanceMethodPoint(instanceMethodAdvisors, each, classLoader))
.filter(Objects::nonNull)
.collect(Collectors.toList());
Builder<?> result = builder;
@@ -210,32 +210,32 @@ public final class ShardingSphereTransformer implements
Transformer {
return result;
}
- private ShardingSphereTransformationPoint<?>
getMatchedInstanceMethodPoint(final Collection<InstanceMethodPointcut>
instanceMethodAroundPoints,
+ private ShardingSphereTransformationPoint<?>
getMatchedInstanceMethodPoint(final Collection<InstanceMethodAdvisor>
instanceMethodAroundPoints,
final InDefinedShape methodDescription, final ClassLoader classLoader) {
- List<InstanceMethodPointcut> instanceMethodPointcuts =
instanceMethodAroundPoints
+ List<InstanceMethodAdvisor> instanceMethodAdvisors =
instanceMethodAroundPoints
.stream().filter(each ->
each.getMatcher().matches(methodDescription)).collect(Collectors.toList());
- if (instanceMethodPointcuts.isEmpty()) {
+ if (instanceMethodAdvisors.isEmpty()) {
return null;
}
- if (1 == instanceMethodPointcuts.size()) {
- return getSingleInstanceMethodPoint(methodDescription,
instanceMethodPointcuts.get(0), classLoader);
+ if (1 == instanceMethodAdvisors.size()) {
+ return getSingleInstanceMethodPoint(methodDescription,
instanceMethodAdvisors.get(0), classLoader);
}
- return getComposeInstanceMethodPoint(methodDescription,
instanceMethodPointcuts, classLoader);
+ return getComposeInstanceMethodPoint(methodDescription,
instanceMethodAdvisors, classLoader);
}
private ShardingSphereTransformationPoint<?>
getSingleInstanceMethodPoint(final InDefinedShape methodDescription,
-
final InstanceMethodPointcut instanceMethodPointcut, final ClassLoader
classLoader) {
- InstanceMethodAroundAdvice instanceMethodAroundAdvice =
pluginLoader.getOrCreateInstance(instanceMethodPointcut.getAdviceClassName(),
classLoader);
- return instanceMethodPointcut.isOverrideArgs()
+
final InstanceMethodAdvisor instanceMethodAdvisor, final ClassLoader
classLoader) {
+ InstanceMethodAroundAdvice instanceMethodAroundAdvice =
pluginLoader.getOrCreateInstance(instanceMethodAdvisor.getAdviceClassName(),
classLoader);
+ return instanceMethodAdvisor.isOverrideArgs()
? new ShardingSphereTransformationPoint<>(methodDescription,
new InstanceMethodInterceptorArgsOverride(instanceMethodAroundAdvice))
: new ShardingSphereTransformationPoint<>(methodDescription,
new InstanceMethodAroundInterceptor(instanceMethodAroundAdvice));
}
private ShardingSphereTransformationPoint<?>
getComposeInstanceMethodPoint(final InDefinedShape methodDescription,
-
final Collection<InstanceMethodPointcut> instanceMethodPointcuts, final
ClassLoader classLoader) {
+
final Collection<InstanceMethodAdvisor> instanceMethodAdvisors, final
ClassLoader classLoader) {
Collection<InstanceMethodAroundAdvice> instanceMethodAroundAdvices =
new LinkedList<>();
boolean isArgsOverride = false;
- for (InstanceMethodPointcut each : instanceMethodPointcuts) {
+ for (InstanceMethodAdvisor each : instanceMethodAdvisors) {
if (each.isOverrideArgs()) {
isArgsOverride = true;
}
diff --git
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/AgentPluginLoader.java
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/AgentPluginLoader.java
index 2863194ae64..83f53fe1d61 100644
---
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/AgentPluginLoader.java
+++
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/AgentPluginLoader.java
@@ -27,11 +27,11 @@ import
org.apache.shardingsphere.agent.config.AgentConfiguration;
import org.apache.shardingsphere.agent.core.common.AgentClassLoader;
import org.apache.shardingsphere.agent.core.config.path.AgentPathBuilder;
import
org.apache.shardingsphere.agent.core.config.registry.AgentConfigurationRegistry;
-import
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
+import
org.apache.shardingsphere.agent.core.advisor.AdvisorDefinitionServiceEngine;
import org.apache.shardingsphere.agent.core.logging.LoggerFactory;
import org.apache.shardingsphere.agent.core.spi.PluginServiceLoader;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
-import org.apache.shardingsphere.agent.spi.PointcutDefinitionService;
+import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.spi.AdvisorDefinitionService;
import java.io.File;
import java.io.IOException;
@@ -55,21 +55,21 @@ public final class AgentPluginLoader implements
PluginLoader {
private final Collection<PluginJar> pluginJars = new LinkedList<>();
- private Map<String, ClassPointcuts> pointcuts;
+ private Map<String, ClassAdvisor> advisors;
@Getter
@Setter
private boolean isEnhancedForProxy = true;
/**
- * Load plugin jars and interceptor points.
+ * Load plugin jars and advisors.
*
* @throws IOException IO exception
*/
public void load() throws IOException {
loadPluginJars();
AgentClassLoader.initDefaultPluginClassLoader(pluginJars);
- pointcuts =
loadClassPointcuts(AgentClassLoader.getDefaultPluginClassloader());
+ advisors =
loadAdvisors(AgentClassLoader.getDefaultPluginClassloader());
}
private void loadPluginJars() throws IOException {
@@ -84,16 +84,16 @@ public final class AgentPluginLoader implements
PluginLoader {
PluginJarHolder.setPluginJars(pluginJars);
}
- private Map<String, ClassPointcuts> loadClassPointcuts(final ClassLoader
classLoader) {
- Map<String, ClassPointcuts> result = new HashMap<>();
+ private Map<String, ClassAdvisor> loadAdvisors(final ClassLoader
classLoader) {
+ Map<String, ClassAdvisor> result = new HashMap<>();
Collection<String> pluginNames = getPluginNames();
- for (PointcutDefinitionService each :
PluginServiceLoader.newServiceInstances(PointcutDefinitionService.class,
classLoader)) {
+ for (AdvisorDefinitionService each :
PluginServiceLoader.newServiceInstances(AdvisorDefinitionService.class,
classLoader)) {
if (pluginNames.contains(each.getType())) {
result.putAll(
- new
PointcutDefinitionServiceEngine(each).getAllPointcuts(isEnhancedForProxy).stream().collect(Collectors.toMap(ClassPointcuts::getTargetClassName,
Function.identity())));
+ new
AdvisorDefinitionServiceEngine(each).getAllAdvisors(isEnhancedForProxy).stream().collect(Collectors.toMap(ClassAdvisor::getTargetClassName,
Function.identity())));
}
}
- return ImmutableMap.<String,
ClassPointcuts>builder().putAll(result).build();
+ return ImmutableMap.<String,
ClassAdvisor>builder().putAll(result).build();
}
private Collection<String> getPluginNames() {
@@ -106,7 +106,7 @@ public final class AgentPluginLoader implements
PluginLoader {
}
/**
- * To find all intercepting target classes then to build TypeMatcher.
+ * To find all intercepting target classes then to build type matcher.
*
* @return type matcher
*/
@@ -115,7 +115,7 @@ public final class AgentPluginLoader implements
PluginLoader {
@Override
public boolean matches(final TypeDescription target) {
- return pointcuts.containsKey(target.getTypeName());
+ return advisors.containsKey(target.getTypeName());
}
@Override
@@ -132,12 +132,12 @@ public final class AgentPluginLoader implements
PluginLoader {
@Override
public boolean containsType(final TypeDescription typeDescription) {
- return pointcuts.containsKey(typeDescription.getTypeName());
+ return advisors.containsKey(typeDescription.getTypeName());
}
@Override
- public ClassPointcuts loadPluginInterceptorPoint(final TypeDescription
typeDescription) {
- return pointcuts.getOrDefault(typeDescription.getTypeName(), new
ClassPointcuts(""));
+ public ClassAdvisor loadPluginAdvisor(final TypeDescription
typeDescription) {
+ return advisors.getOrDefault(typeDescription.getTypeName(), new
ClassAdvisor(""));
}
@Override
diff --git
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginLoader.java
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginLoader.java
index 04e71d75109..76f3f9fd333 100644
---
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginLoader.java
+++
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginLoader.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.agent.core.plugin;
import net.bytebuddy.description.type.TypeDescription;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
+import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
public interface PluginLoader {
@@ -31,12 +31,12 @@ public interface PluginLoader {
boolean containsType(TypeDescription typeDescription);
/**
- * Load plugin interceptor point by type description.
+ * Load plugin advisor by type description.
*
* @param typeDescription type description
- * @return plugin interceptor point
+ * @return plugin advisor
*/
- ClassPointcuts loadPluginInterceptorPoint(TypeDescription typeDescription);
+ ClassAdvisor loadPluginAdvisor(TypeDescription typeDescription);
/**
* To get or create instance of the advice class. Create new one and
caching when it is not exist.
diff --git
a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformerTest.java
b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformerTest.java
index 9215f58ab9f..0d71366e3e9 100644
---
a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformerTest.java
+++
b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformerTest.java
@@ -33,10 +33,10 @@ import
org.apache.shardingsphere.agent.core.mock.material.Material;
import
org.apache.shardingsphere.agent.core.mock.material.RepeatedAdviceMaterial;
import org.apache.shardingsphere.agent.core.plugin.AdviceInstanceLoader;
import org.apache.shardingsphere.agent.core.plugin.AgentPluginLoader;
-import org.apache.shardingsphere.agent.pointcut.ConstructorPointcut;
-import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
-import org.apache.shardingsphere.agent.pointcut.StaticMethodPointcut;
+import org.apache.shardingsphere.agent.advisor.ConstructorAdvisor;
+import org.apache.shardingsphere.agent.advisor.InstanceMethodAdvisor;
+import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.advisor.StaticMethodAdvisor;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -73,13 +73,13 @@ public final class ShardingSphereTransformerTest {
objectPool.put(MockConstructorAdvice.class.getTypeName(), new
MockConstructorAdvice());
objectPool.put(MockInstanceMethodAroundAdvice.class.getTypeName(), new
MockInstanceMethodAroundAdvice());
objectPool.put(MockStaticMethodAroundAdvice.class.getTypeName(), new
MockStaticMethodAroundAdvice());
- Map<String, ClassPointcuts> pointcutsMap = new HashMap<>(2, 1);
- ClassPointcuts classPointcuts = createPluginPointcuts();
- pointcutsMap.put(classPointcuts.getTargetClassName(), classPointcuts);
- ClassPointcuts classPointcutsInTwice = createPluginPointcutsInTwice();
- pointcutsMap.put(classPointcutsInTwice.getTargetClassName(),
classPointcutsInTwice);
+ Map<String, ClassAdvisor> classAdvisors = new HashMap<>(2, 1);
+ ClassAdvisor classAdvisor = createClassAdvisor();
+ classAdvisors.put(classAdvisor.getTargetClassName(), classAdvisor);
+ ClassAdvisor classAdvisorInTwice = createClassAdvisorsInTwice();
+ classAdvisors.put(classAdvisorInTwice.getTargetClassName(),
classAdvisorInTwice);
MemberAccessor accessor = Plugins.getMemberAccessor();
- accessor.set(PLUGIN_LOADER.getClass().getDeclaredField("pointcuts"),
PLUGIN_LOADER, pointcutsMap);
+ accessor.set(PLUGIN_LOADER.getClass().getDeclaredField("advisors"),
PLUGIN_LOADER, classAdvisors);
byteBuddyAgent = new AgentBuilder.Default().with(new
ByteBuddy().with(TypeValidation.ENABLED))
.ignore(ElementMatchers.isSynthetic()).or(ElementMatchers.nameStartsWith("org.apache.shardingsphere.agent.")
.and(ElementMatchers.not(ElementMatchers.nameStartsWith("org.apache.shardingsphere.agent.core.mock"))))
@@ -91,18 +91,18 @@ public final class ShardingSphereTransformerTest {
.installOnByteBuddyAgent();
}
- private static ClassPointcuts createPluginPointcuts() {
- ClassPointcuts result = new
ClassPointcuts("org.apache.shardingsphere.agent.core.mock.material.Material");
- result.getConstructorPointcuts().add(new
ConstructorPointcut(ElementMatchers.takesArguments(1),
MockConstructorAdvice.class.getTypeName()));
- result.getInstanceMethodPointcuts().add(new
InstanceMethodPointcut(ElementMatchers.named("mock"),
MockInstanceMethodAroundAdvice.class.getTypeName()));
- result.getStaticMethodPointcuts().add(new
StaticMethodPointcut(ElementMatchers.named("staticMock"),
MockStaticMethodAroundAdvice.class.getTypeName()));
+ private static ClassAdvisor createClassAdvisor() {
+ ClassAdvisor result = new
ClassAdvisor("org.apache.shardingsphere.agent.core.mock.material.Material");
+ result.getConstructorAdvisors().add(new
ConstructorAdvisor(ElementMatchers.takesArguments(1),
MockConstructorAdvice.class.getTypeName()));
+ result.getInstanceMethodAdvisors().add(new
InstanceMethodAdvisor(ElementMatchers.named("mock"),
MockInstanceMethodAroundAdvice.class.getTypeName()));
+ result.getStaticMethodAdvisors().add(new
StaticMethodAdvisor(ElementMatchers.named("staticMock"),
MockStaticMethodAroundAdvice.class.getTypeName()));
return result;
}
- private static ClassPointcuts createPluginPointcutsInTwice() {
- ClassPointcuts result = new
ClassPointcuts("org.apache.shardingsphere.agent.core.mock.material.RepeatedAdviceMaterial");
- result.getInstanceMethodPointcuts().add(new
InstanceMethodPointcut(ElementMatchers.named("mock"),
MockInstanceMethodAroundAdvice.class.getTypeName()));
- result.getInstanceMethodPointcuts().add(new
InstanceMethodPointcut(ElementMatchers.named("mock"),
MockInstanceMethodAroundRepeatedAdvice.class.getTypeName()));
+ private static ClassAdvisor createClassAdvisorsInTwice() {
+ ClassAdvisor result = new
ClassAdvisor("org.apache.shardingsphere.agent.core.mock.material.RepeatedAdviceMaterial");
+ result.getInstanceMethodAdvisors().add(new
InstanceMethodAdvisor(ElementMatchers.named("mock"),
MockInstanceMethodAroundAdvice.class.getTypeName()));
+ result.getInstanceMethodAdvisors().add(new
InstanceMethodAdvisor(ElementMatchers.named("mock"),
MockInstanceMethodAroundRepeatedAdvice.class.getTypeName()));
return result;
}
diff --git
a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/loader/AgentPluginLoaderTest.java
b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/loader/AgentPluginLoaderTest.java
index 89d27dd43a1..11fe4b3c06f 100644
---
a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/loader/AgentPluginLoaderTest.java
+++
b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/loader/AgentPluginLoaderTest.java
@@ -20,15 +20,15 @@ package org.apache.shardingsphere.agent.core.plugin.loader;
import net.bytebuddy.description.type.TypeDescription;
import net.bytebuddy.matcher.ElementMatchers;
import net.bytebuddy.pool.TypePool;
+import org.apache.shardingsphere.agent.advisor.StaticMethodAdvisor;
import org.apache.shardingsphere.agent.core.mock.advice.MockConstructorAdvice;
import
org.apache.shardingsphere.agent.core.mock.advice.MockInstanceMethodAroundAdvice;
import
org.apache.shardingsphere.agent.core.mock.advice.MockStaticMethodAroundAdvice;
import org.apache.shardingsphere.agent.core.plugin.AdviceInstanceLoader;
import org.apache.shardingsphere.agent.core.plugin.AgentPluginLoader;
-import org.apache.shardingsphere.agent.pointcut.ConstructorPointcut;
-import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
-import org.apache.shardingsphere.agent.pointcut.StaticMethodPointcut;
+import org.apache.shardingsphere.agent.advisor.ConstructorAdvisor;
+import org.apache.shardingsphere.agent.advisor.InstanceMethodAdvisor;
+import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.experimental.categories.Category;
@@ -62,12 +62,12 @@ public final class AgentPluginLoaderTest {
objectPool.put(MockConstructorAdvice.class.getTypeName(), new
MockConstructorAdvice());
objectPool.put(MockInstanceMethodAroundAdvice.class.getTypeName(), new
MockInstanceMethodAroundAdvice());
objectPool.put(MockStaticMethodAroundAdvice.class.getTypeName(), new
MockStaticMethodAroundAdvice());
- ClassPointcuts classPointcuts = new
ClassPointcuts("org.apache.shardingsphere.agent.core.mock.material.Material");
- classPointcuts.getConstructorPointcuts().add(new
ConstructorPointcut(ElementMatchers.takesArguments(1),
MockConstructorAdvice.class.getTypeName()));
- classPointcuts.getInstanceMethodPointcuts().add(new
InstanceMethodPointcut(ElementMatchers.named("mock"),
MockInstanceMethodAroundAdvice.class.getTypeName()));
- classPointcuts.getStaticMethodPointcuts().add(new
StaticMethodPointcut(ElementMatchers.named("staticMock"),
MockStaticMethodAroundAdvice.class.getTypeName()));
+ ClassAdvisor classAdvisor = new
ClassAdvisor("org.apache.shardingsphere.agent.core.mock.material.Material");
+ classAdvisor.getConstructorAdvisors().add(new
ConstructorAdvisor(ElementMatchers.takesArguments(1),
MockConstructorAdvice.class.getTypeName()));
+ classAdvisor.getInstanceMethodAdvisors().add(new
InstanceMethodAdvisor(ElementMatchers.named("mock"),
MockInstanceMethodAroundAdvice.class.getTypeName()));
+ classAdvisor.getStaticMethodAdvisors().add(new
StaticMethodAdvisor(ElementMatchers.named("staticMock"),
MockStaticMethodAroundAdvice.class.getTypeName()));
MemberAccessor accessor = Plugins.getMemberAccessor();
- accessor.set(PLUGIN_LOADER.getClass().getDeclaredField("pointcuts"),
PLUGIN_LOADER, Collections.singletonMap(classPointcuts.getTargetClassName(),
classPointcuts));
+ accessor.set(PLUGIN_LOADER.getClass().getDeclaredField("advisors"),
PLUGIN_LOADER, Collections.singletonMap(classAdvisor.getTargetClassName(),
classAdvisor));
}
@Test
@@ -83,7 +83,7 @@ public final class AgentPluginLoaderTest {
}
@Test
- public void assertLoadPluginInterceptorPoint() {
- assertNotNull(PLUGIN_LOADER.loadPluginInterceptorPoint(MATERIAL));
+ public void assertLoadPluginAdvisor() {
+ assertNotNull(PLUGIN_LOADER.loadPluginAdvisor(MATERIAL));
}
}
diff --git
a/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPointcutDefinitionService.java
b/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingAdvisorDefinitionService.java
similarity index 57%
rename from
agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPointcutDefinitionService.java
rename to
agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingAdvisorDefinitionService.java
index 6ff53723df2..e448a60b408 100644
---
a/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPointcutDefinitionService.java
+++
b/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingAdvisorDefinitionService.java
@@ -18,19 +18,19 @@
package org.apache.shardingsphere.agent.plugin.logging.base.definition;
import net.bytebuddy.matcher.ElementMatchers;
-import
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
+import
org.apache.shardingsphere.agent.core.advisor.AdvisorDefinitionServiceEngine;
import
org.apache.shardingsphere.agent.plugin.logging.base.advice.MetaDataContextsFactoryAdvice;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
-import org.apache.shardingsphere.agent.pointcut.StaticMethodPointcut;
-import org.apache.shardingsphere.agent.spi.PointcutDefinitionService;
+import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.advisor.StaticMethodAdvisor;
+import org.apache.shardingsphere.agent.spi.AdvisorDefinitionService;
import java.util.Collection;
import java.util.LinkedList;
/**
- * Base logging pointcut definition service.
+ * Base logging advisor definition service.
*/
-public final class BaseLoggingPointcutDefinitionService implements
PointcutDefinitionService {
+public final class BaseLoggingAdvisorDefinitionService implements
AdvisorDefinitionService {
private static final String SCHEMA_METADATA_LOADER_CLASS =
"org.apache.shardingsphere.mode.metadata.MetaDataContextsFactory";
@@ -39,22 +39,22 @@ public final class BaseLoggingPointcutDefinitionService
implements PointcutDefin
private static final String SCHEMA_METADATA_LOADER_ADVICE_CLASS =
MetaDataContextsFactoryAdvice.class.getName();
@Override
- public Collection<ClassPointcuts> getProxyPointcuts() {
- return getClassPointcuts();
+ public Collection<ClassAdvisor> getProxyAdvisors() {
+ return getAdvisors();
}
@Override
- public Collection<ClassPointcuts> getJDBCPointcuts() {
- return getClassPointcuts();
+ public Collection<ClassAdvisor> getJDBCAdvisors() {
+ return getAdvisors();
}
- private Collection<ClassPointcuts> getClassPointcuts() {
- Collection<ClassPointcuts> result = new LinkedList<>();
- PointcutDefinitionServiceEngine engine = new
PointcutDefinitionServiceEngine(this);
- ClassPointcuts classPointcuts =
engine.getAllPointcuts(SCHEMA_METADATA_LOADER_CLASS);
- classPointcuts.getStaticMethodPointcuts().add(
- new
StaticMethodPointcut(ElementMatchers.named(SCHEMA_METADATA_LOADER_METHOD_NAME).and(ElementMatchers.takesArguments(4)),
SCHEMA_METADATA_LOADER_ADVICE_CLASS));
- result.add(classPointcuts);
+ private Collection<ClassAdvisor> getAdvisors() {
+ Collection<ClassAdvisor> result = new LinkedList<>();
+ AdvisorDefinitionServiceEngine engine = new
AdvisorDefinitionServiceEngine(this);
+ ClassAdvisor classAdvisor =
engine.getAdvisors(SCHEMA_METADATA_LOADER_CLASS);
+ classAdvisor.getStaticMethodAdvisors().add(
+ new
StaticMethodAdvisor(ElementMatchers.named(SCHEMA_METADATA_LOADER_METHOD_NAME).and(ElementMatchers.takesArguments(4)),
SCHEMA_METADATA_LOADER_ADVICE_CLASS));
+ result.add(classAdvisor);
return result;
}
diff --git
a/agent/plugins/logging/base/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
b/agent/plugins/logging/base/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.AdvisorDefinitionService
similarity index 95%
rename from
agent/plugins/logging/base/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
rename to
agent/plugins/logging/base/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.AdvisorDefinitionService
index b98861d5ed1..fee68b71e4d 100644
---
a/agent/plugins/logging/base/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
+++
b/agent/plugins/logging/base/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.AdvisorDefinitionService
@@ -15,4 +15,4 @@
# limitations under the License.
#
-org.apache.shardingsphere.agent.plugin.logging.base.definition.BaseLoggingPointcutDefinitionService
+org.apache.shardingsphere.agent.plugin.logging.base.definition.BaseLoggingAdvisorDefinitionService
diff --git
a/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPointcutDefinitionService.java
b/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusAdvisorDefinitionService.java
similarity index 59%
rename from
agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPointcutDefinitionService.java
rename to
agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusAdvisorDefinitionService.java
index b8952d9e6cb..f25ce5deb83 100644
---
a/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPointcutDefinitionService.java
+++
b/agent/plugins/metrics/type/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusAdvisorDefinitionService.java
@@ -18,55 +18,55 @@
package org.apache.shardingsphere.agent.metrics.prometheus.definition;
import net.bytebuddy.matcher.ElementMatchers;
-import
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
+import
org.apache.shardingsphere.agent.core.advisor.AdvisorDefinitionServiceEngine;
import org.apache.shardingsphere.agent.core.yaml.entity.Interceptor;
import org.apache.shardingsphere.agent.core.yaml.entity.TargetPoint;
import
org.apache.shardingsphere.agent.core.yaml.swapper.InterceptorsYamlSwapper;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
-import org.apache.shardingsphere.agent.pointcut.ConstructorPointcut;
-import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
-import org.apache.shardingsphere.agent.pointcut.StaticMethodPointcut;
-import org.apache.shardingsphere.agent.spi.PointcutDefinitionService;
+import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.advisor.ConstructorAdvisor;
+import org.apache.shardingsphere.agent.advisor.InstanceMethodAdvisor;
+import org.apache.shardingsphere.agent.advisor.StaticMethodAdvisor;
+import org.apache.shardingsphere.agent.spi.AdvisorDefinitionService;
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
/**
- * Metrics pointcut definition service.
+ * Prometheus advisor definition service.
*/
-public final class PrometheusPointcutDefinitionService implements
PointcutDefinitionService {
+public final class PrometheusAdvisorDefinitionService implements
AdvisorDefinitionService {
@Override
- public Collection<ClassPointcuts> getProxyPointcuts() {
- Collection<ClassPointcuts> result = new LinkedList<>();
- PointcutDefinitionServiceEngine engine = new
PointcutDefinitionServiceEngine(this);
+ public Collection<ClassAdvisor> getProxyAdvisors() {
+ Collection<ClassAdvisor> result = new LinkedList<>();
+ AdvisorDefinitionServiceEngine engine = new
AdvisorDefinitionServiceEngine(this);
for (Interceptor each : new
InterceptorsYamlSwapper().unmarshal(getClass().getResourceAsStream("/prometheus/interceptors.yaml")).getInterceptors())
{
if (null != each.getTarget()) {
- result.add(createClassPointcuts(engine, each));
+ result.add(createClassAdvisor(engine, each));
}
}
return result;
}
- private ClassPointcuts createClassPointcuts(final
PointcutDefinitionServiceEngine engine, final Interceptor interceptor) {
- ClassPointcuts result =
engine.getAllPointcuts(interceptor.getTarget());
+ private ClassAdvisor createClassAdvisor(final
AdvisorDefinitionServiceEngine engine, final Interceptor interceptor) {
+ ClassAdvisor result = engine.getAdvisors(interceptor.getTarget());
if (null != interceptor.getConstructAdvice() &&
!("".equals(interceptor.getConstructAdvice()))) {
- result.getConstructorPointcuts().add(new
ConstructorPointcut(ElementMatchers.isConstructor(),
interceptor.getConstructAdvice()));
+ result.getConstructorAdvisors().add(new
ConstructorAdvisor(ElementMatchers.isConstructor(),
interceptor.getConstructAdvice()));
}
String[] instancePoints = interceptor.getPoints().stream().filter(i ->
"instance".equals(i.getType())).map(TargetPoint::getName).toArray(String[]::new);
if (instancePoints.length > 0) {
- result.getInstanceMethodPointcuts().add(new
InstanceMethodPointcut(ElementMatchers.namedOneOf(instancePoints),
interceptor.getInstanceAdvice()));
+ result.getInstanceMethodAdvisors().add(new
InstanceMethodAdvisor(ElementMatchers.namedOneOf(instancePoints),
interceptor.getInstanceAdvice()));
}
String[] staticPoints = interceptor.getPoints().stream().filter(i ->
"static".equals(i.getType())).map(TargetPoint::getName).toArray(String[]::new);
if (staticPoints.length > 0) {
- result.getStaticMethodPointcuts().add(new
StaticMethodPointcut(ElementMatchers.namedOneOf(staticPoints),
interceptor.getStaticAdvice()));
+ result.getStaticMethodAdvisors().add(new
StaticMethodAdvisor(ElementMatchers.namedOneOf(staticPoints),
interceptor.getStaticAdvice()));
}
return result;
}
@Override
- public Collection<ClassPointcuts> getJDBCPointcuts() {
+ public Collection<ClassAdvisor> getJDBCAdvisors() {
// TODO add JDBC related interceptors
return Collections.emptyList();
}
diff --git
a/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
b/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.AdvisorDefinitionService
similarity index 96%
rename from
agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
rename to
agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.AdvisorDefinitionService
index 474b5f33548..decb6e20b63 100644
---
a/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
+++
b/agent/plugins/metrics/type/prometheus/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.AdvisorDefinitionService
@@ -15,4 +15,4 @@
# limitations under the License.
#
-org.apache.shardingsphere.agent.metrics.prometheus.definition.PrometheusPointcutDefinitionService
+org.apache.shardingsphere.agent.metrics.prometheus.definition.PrometheusAdvisorDefinitionService
diff --git
a/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPointcutDefinitionServiceTest.java
b/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusAdvisorDefinitionServiceTest.java
similarity index 83%
rename from
agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPointcutDefinitionServiceTest.java
rename to
agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusAdvisorDefinitionServiceTest.java
index af351d1756e..3d489441b85 100644
---
a/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPointcutDefinitionServiceTest.java
+++
b/agent/plugins/metrics/type/prometheus/src/test/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusAdvisorDefinitionServiceTest.java
@@ -22,10 +22,10 @@ import org.junit.Test;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-public final class PrometheusPointcutDefinitionServiceTest {
+public final class PrometheusAdvisorDefinitionServiceTest {
@Test
- public void assertGetProxyClassPointcuts() {
- assertThat(new
PrometheusPointcutDefinitionService().getProxyPointcuts().size(), is(5));
+ public void assertGetProxyAdvisors() {
+ assertThat(new
PrometheusAdvisorDefinitionService().getProxyAdvisors().size(), is(5));
}
}
diff --git
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingAdviceEngine.java
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingAdviceEngine.java
index 401cd697b21..aabc9dc807e 100644
---
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingAdviceEngine.java
+++
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/TracingAdviceEngine.java
@@ -18,12 +18,12 @@
package org.apache.shardingsphere.agent.plugin.tracing.core.advice;
import lombok.RequiredArgsConstructor;
-import
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
+import
org.apache.shardingsphere.agent.core.advisor.AdvisorDefinitionServiceEngine;
import
org.apache.shardingsphere.agent.core.plugin.advice.InstanceMethodAroundAdvice;
import
org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.impl.CommandExecutorTaskAdviser;
import
org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.impl.JDBCExecutorCallbackAdviser;
import
org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.impl.SQLParserEngineAdviser;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
+import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
import java.util.Collection;
import java.util.Collections;
@@ -35,32 +35,33 @@ import java.util.LinkedList;
@RequiredArgsConstructor
public final class TracingAdviceEngine {
- private final PointcutDefinitionServiceEngine engine;
+ private final AdvisorDefinitionServiceEngine engine;
/**
- * Advice proxy tracing.
+ * Get proxy tracing advisors.
*
* @param commandExecutorTaskAdvice command executor task advice
* @param sqlParserEngineAdvice SQL parser engine advice
* @param jdbcExecutorCallbackAdvice JDBC executor callback advice
- * @return class pointcuts
+ * @return got advisors
*/
- public Collection<ClassPointcuts> adviceProxy(final Class<? extends
InstanceMethodAroundAdvice> commandExecutorTaskAdvice, final Class<? extends
InstanceMethodAroundAdvice> sqlParserEngineAdvice,
- final Class<? extends
InstanceMethodAroundAdvice> jdbcExecutorCallbackAdvice) {
+ public Collection<ClassAdvisor> getProxyAdvisors(final Class<? extends
InstanceMethodAroundAdvice> commandExecutorTaskAdvice,
+ final Class<? extends
InstanceMethodAroundAdvice> sqlParserEngineAdvice,
+ final Class<? extends
InstanceMethodAroundAdvice> jdbcExecutorCallbackAdvice) {
// TODO load from YAML, please ref metrics
- Collection<ClassPointcuts> result = new LinkedList<>();
- result.add(new
CommandExecutorTaskAdviser(engine).advice(commandExecutorTaskAdvice));
- result.add(new
SQLParserEngineAdviser(engine).advice(sqlParserEngineAdvice));
- result.add(new
JDBCExecutorCallbackAdviser(engine).advice(jdbcExecutorCallbackAdvice));
+ Collection<ClassAdvisor> result = new LinkedList<>();
+ result.add(new
CommandExecutorTaskAdviser(engine).getAdvisor(commandExecutorTaskAdvice));
+ result.add(new
SQLParserEngineAdviser(engine).getAdvisor(sqlParserEngineAdvice));
+ result.add(new
JDBCExecutorCallbackAdviser(engine).getAdvisor(jdbcExecutorCallbackAdvice));
return result;
}
/**
- * Advice JDBC tracing.
+ * Get JDBC tracing advisors.
*
- * @return class pointcuts
+ * @return got advisors
*/
- public Collection<ClassPointcuts> adviceJDBC() {
+ public Collection<ClassAdvisor> getJDBCAdvisors() {
// TODO
return Collections.emptyList();
}
diff --git
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/TracingAdviser.java
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/TracingAdviser.java
index fa188a6f1a5..186fcb80cba 100644
---
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/TracingAdviser.java
+++
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/TracingAdviser.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser;
import
org.apache.shardingsphere.agent.core.plugin.advice.InstanceMethodAroundAdvice;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
+import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
/**
* Tracing adviser.
@@ -26,10 +26,10 @@ import
org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
public interface TracingAdviser {
/**
- * Advice.
+ * Get advisor.
*
* @param instanceMethodAroundAdvice instance method around advice
- * @return class pointcuts
+ * @return advisor
*/
- ClassPointcuts advice(Class<? extends InstanceMethodAroundAdvice>
instanceMethodAroundAdvice);
+ ClassAdvisor getAdvisor(Class<? extends InstanceMethodAroundAdvice>
instanceMethodAroundAdvice);
}
diff --git
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/CommandExecutorTaskAdviser.java
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/CommandExecutorTaskAdviser.java
index d32f5548afb..4c80dd2cc35 100644
---
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/CommandExecutorTaskAdviser.java
+++
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/CommandExecutorTaskAdviser.java
@@ -19,11 +19,11 @@ package
org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.impl;
import lombok.RequiredArgsConstructor;
import net.bytebuddy.matcher.ElementMatchers;
-import
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
+import
org.apache.shardingsphere.agent.core.advisor.AdvisorDefinitionServiceEngine;
import
org.apache.shardingsphere.agent.core.plugin.advice.InstanceMethodAroundAdvice;
import
org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.TracingAdviser;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
-import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
+import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.advisor.InstanceMethodAdvisor;
/**
* Command executor task adviser.
@@ -35,12 +35,12 @@ public final class CommandExecutorTaskAdviser implements
TracingAdviser {
private static final String TARGET_METHOD = "run";
- private final PointcutDefinitionServiceEngine engine;
+ private final AdvisorDefinitionServiceEngine engine;
@Override
- public ClassPointcuts advice(final Class<? extends
InstanceMethodAroundAdvice> commandExecutorTaskAdvice) {
- ClassPointcuts result = engine.getAllPointcuts(TARGET_CLASS);
- result.getInstanceMethodPointcuts().add(new
InstanceMethodPointcut(ElementMatchers.named(TARGET_METHOD),
commandExecutorTaskAdvice.getName()));
+ public ClassAdvisor getAdvisor(final Class<? extends
InstanceMethodAroundAdvice> commandExecutorTaskAdvice) {
+ ClassAdvisor result = engine.getAdvisors(TARGET_CLASS);
+ result.getInstanceMethodAdvisors().add(new
InstanceMethodAdvisor(ElementMatchers.named(TARGET_METHOD),
commandExecutorTaskAdvice.getName()));
return result;
}
}
diff --git
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/JDBCExecutorCallbackAdviser.java
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/JDBCExecutorCallbackAdviser.java
index 29577378d96..4a88c3f0ea1 100644
---
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/JDBCExecutorCallbackAdviser.java
+++
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/JDBCExecutorCallbackAdviser.java
@@ -19,11 +19,11 @@ package
org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.impl;
import lombok.RequiredArgsConstructor;
import net.bytebuddy.matcher.ElementMatchers;
-import
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
+import
org.apache.shardingsphere.agent.core.advisor.AdvisorDefinitionServiceEngine;
import
org.apache.shardingsphere.agent.core.plugin.advice.InstanceMethodAroundAdvice;
import
org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.TracingAdviser;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
-import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
+import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.advisor.InstanceMethodAdvisor;
/**
* JDBC executor callback adviser.
@@ -37,12 +37,12 @@ public final class JDBCExecutorCallbackAdviser implements
TracingAdviser {
private static final String TARGET_METHOD_FIRST_PARAM =
"org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutionUnit";
- private final PointcutDefinitionServiceEngine engine;
+ private final AdvisorDefinitionServiceEngine engine;
@Override
- public ClassPointcuts advice(final Class<? extends
InstanceMethodAroundAdvice> jdbcExecutorCallbackAdvice) {
- ClassPointcuts result = engine.getAllPointcuts(TARGET_CLASS);
- result.getInstanceMethodPointcuts().add(new InstanceMethodPointcut(
+ public ClassAdvisor getAdvisor(final Class<? extends
InstanceMethodAroundAdvice> jdbcExecutorCallbackAdvice) {
+ ClassAdvisor result = engine.getAdvisors(TARGET_CLASS);
+ result.getInstanceMethodAdvisors().add(new InstanceMethodAdvisor(
ElementMatchers.named(TARGET_METHOD).and(ElementMatchers.takesArgument(0,
ElementMatchers.named(TARGET_METHOD_FIRST_PARAM))),
jdbcExecutorCallbackAdvice.getName()));
return result;
}
diff --git
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/SQLParserEngineAdviser.java
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/SQLParserEngineAdviser.java
index 84931e3d956..ac215020805 100644
---
a/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/SQLParserEngineAdviser.java
+++
b/agent/plugins/tracing/core/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/core/advice/adviser/impl/SQLParserEngineAdviser.java
@@ -19,11 +19,11 @@ package
org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.impl;
import lombok.RequiredArgsConstructor;
import net.bytebuddy.matcher.ElementMatchers;
-import
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
+import
org.apache.shardingsphere.agent.core.advisor.AdvisorDefinitionServiceEngine;
import
org.apache.shardingsphere.agent.core.plugin.advice.InstanceMethodAroundAdvice;
import
org.apache.shardingsphere.agent.plugin.tracing.core.advice.adviser.TracingAdviser;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
-import org.apache.shardingsphere.agent.pointcut.InstanceMethodPointcut;
+import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.advisor.InstanceMethodAdvisor;
/**
* SQL parser engine adviser.
@@ -35,12 +35,12 @@ public final class SQLParserEngineAdviser implements
TracingAdviser {
private static final String TARGET_METHOD = "parse";
- private final PointcutDefinitionServiceEngine engine;
+ private final AdvisorDefinitionServiceEngine engine;
@Override
- public ClassPointcuts advice(final Class<? extends
InstanceMethodAroundAdvice> sqlParserEngineAdvice) {
- ClassPointcuts result = engine.getAllPointcuts(TARGET_CLASS);
- result.getInstanceMethodPointcuts().add(new
InstanceMethodPointcut(ElementMatchers.named(TARGET_METHOD),
sqlParserEngineAdvice.getName()));
+ public ClassAdvisor getAdvisor(final Class<? extends
InstanceMethodAroundAdvice> sqlParserEngineAdvice) {
+ ClassAdvisor result = engine.getAdvisors(TARGET_CLASS);
+ result.getInstanceMethodAdvisors().add(new
InstanceMethodAdvisor(ElementMatchers.named(TARGET_METHOD),
sqlParserEngineAdvice.getName()));
return result;
}
}
diff --git
a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPointcutDefinitionService.java
b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerAdvisorDefinitionService.java
similarity index 63%
rename from
agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPointcutDefinitionService.java
rename to
agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerAdvisorDefinitionService.java
index 948c4480038..7f6cc225265 100644
---
a/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPointcutDefinitionService.java
+++
b/agent/plugins/tracing/type/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerAdvisorDefinitionService.java
@@ -17,28 +17,28 @@
package org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition;
-import
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
+import
org.apache.shardingsphere.agent.core.advisor.AdvisorDefinitionServiceEngine;
import
org.apache.shardingsphere.agent.plugin.tracing.core.advice.TracingAdviceEngine;
import
org.apache.shardingsphere.agent.plugin.tracing.jaeger.advice.CommandExecutorTaskAdvice;
import
org.apache.shardingsphere.agent.plugin.tracing.jaeger.advice.JDBCExecutorCallbackAdvice;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
-import org.apache.shardingsphere.agent.spi.PointcutDefinitionService;
+import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.spi.AdvisorDefinitionService;
import java.util.Collection;
/**
- * Jaeger pointcut definition service.
+ * Jaeger advisor definition service.
*/
-public final class JaegerPointcutDefinitionService implements
PointcutDefinitionService {
+public final class JaegerAdvisorDefinitionService implements
AdvisorDefinitionService {
@Override
- public Collection<ClassPointcuts> getProxyPointcuts() {
- return new TracingAdviceEngine(new
PointcutDefinitionServiceEngine(this)).adviceProxy(CommandExecutorTaskAdvice.class,
CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
+ public Collection<ClassAdvisor> getProxyAdvisors() {
+ return new TracingAdviceEngine(new
AdvisorDefinitionServiceEngine(this)).getProxyAdvisors(CommandExecutorTaskAdvice.class,
CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
}
@Override
- public Collection<ClassPointcuts> getJDBCPointcuts() {
- return new TracingAdviceEngine(new
PointcutDefinitionServiceEngine(this)).adviceJDBC();
+ public Collection<ClassAdvisor> getJDBCAdvisors() {
+ return new TracingAdviceEngine(new
AdvisorDefinitionServiceEngine(this)).getJDBCAdvisors();
}
@Override
diff --git
a/agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
b/agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.AdvisorDefinitionService
similarity index 96%
rename from
agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
rename to
agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.AdvisorDefinitionService
index aa4b757e206..f87f80cbeed 100644
---
a/agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
+++
b/agent/plugins/tracing/type/jaeger/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.AdvisorDefinitionService
@@ -15,4 +15,4 @@
# limitations under the License.
#
-org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition.JaegerPointcutDefinitionService
+org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition.JaegerAdvisorDefinitionService
diff --git
a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPointcutDefinitionServiceTest.java
b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerAdvisorDefinitionServiceTest.java
similarity index 83%
rename from
agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPointcutDefinitionServiceTest.java
rename to
agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerAdvisorDefinitionServiceTest.java
index e01ffebc546..c80214df12d 100644
---
a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPointcutDefinitionServiceTest.java
+++
b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerAdvisorDefinitionServiceTest.java
@@ -22,10 +22,10 @@ import org.junit.Test;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-public final class JaegerPointcutDefinitionServiceTest {
+public final class JaegerAdvisorDefinitionServiceTest {
@Test
- public void assertGetProxyClassPointcuts() {
- assertThat(new
JaegerPointcutDefinitionService().getProxyPointcuts().size(), is(3));
+ public void assertGetProxyAdvisors() {
+ assertThat(new
JaegerAdvisorDefinitionService().getProxyAdvisors().size(), is(3));
}
}
diff --git
a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPointcutDefinitionService.java
b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingAdvisorDefinitionService.java
similarity index 63%
rename from
agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPointcutDefinitionService.java
rename to
agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingAdvisorDefinitionService.java
index efd4ee233a8..b54c096d112 100644
---
a/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPointcutDefinitionService.java
+++
b/agent/plugins/tracing/type/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingAdvisorDefinitionService.java
@@ -17,28 +17,28 @@
package
org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.definition;
-import
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
+import
org.apache.shardingsphere.agent.core.advisor.AdvisorDefinitionServiceEngine;
import
org.apache.shardingsphere.agent.plugin.tracing.core.advice.TracingAdviceEngine;
import
org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.advice.CommandExecutorTaskAdvice;
import
org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.advice.JDBCExecutorCallbackAdvice;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
-import org.apache.shardingsphere.agent.spi.PointcutDefinitionService;
+import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.spi.AdvisorDefinitionService;
import java.util.Collection;
/**
- * OpenTelemetry pointcut definition service.
+ * OpenTelemetry advisor definition service.
*/
-public final class OpenTelemetryTracingPointcutDefinitionService implements
PointcutDefinitionService {
+public final class OpenTelemetryTracingAdvisorDefinitionService implements
AdvisorDefinitionService {
@Override
- public Collection<ClassPointcuts> getProxyPointcuts() {
- return new TracingAdviceEngine(new
PointcutDefinitionServiceEngine(this)).adviceProxy(CommandExecutorTaskAdvice.class,
CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
+ public Collection<ClassAdvisor> getProxyAdvisors() {
+ return new TracingAdviceEngine(new
AdvisorDefinitionServiceEngine(this)).getProxyAdvisors(CommandExecutorTaskAdvice.class,
CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
}
@Override
- public Collection<ClassPointcuts> getJDBCPointcuts() {
- return new TracingAdviceEngine(new
PointcutDefinitionServiceEngine(this)).adviceJDBC();
+ public Collection<ClassAdvisor> getJDBCAdvisors() {
+ return new TracingAdviceEngine(new
AdvisorDefinitionServiceEngine(this)).getJDBCAdvisors();
}
@Override
diff --git
a/agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
b/agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.AdvisorDefinitionService
similarity index 94%
rename from
agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
rename to
agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.AdvisorDefinitionService
index 5be3a927828..0bd1631c2a4 100644
---
a/agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
+++
b/agent/plugins/tracing/type/opentelemetry/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.AdvisorDefinitionService
@@ -15,4 +15,4 @@
# limitations under the License.
#
-org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.definition.OpenTelemetryTracingPointcutDefinitionService
+org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.definition.OpenTelemetryTracingAdvisorDefinitionService
diff --git
a/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPointcutDefinitionServiceTest.java
b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingAdvisorDefinitionServiceTest.java
similarity index 81%
rename from
agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPointcutDefinitionServiceTest.java
rename to
agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingAdvisorDefinitionServiceTest.java
index fcae69b572b..7156757f6b7 100644
---
a/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPointcutDefinitionServiceTest.java
+++
b/agent/plugins/tracing/type/opentelemetry/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingAdvisorDefinitionServiceTest.java
@@ -22,10 +22,10 @@ import org.junit.Test;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-public final class OpenTelemetryTracingPointcutDefinitionServiceTest {
+public final class OpenTelemetryTracingAdvisorDefinitionServiceTest {
@Test
- public void assertGetProxyClassPointcuts() {
- assertThat(new
OpenTelemetryTracingPointcutDefinitionService().getProxyPointcuts().size(),
is(3));
+ public void assertGetProxyAdvisors() {
+ assertThat(new
OpenTelemetryTracingAdvisorDefinitionService().getProxyAdvisors().size(),
is(3));
}
}
diff --git
a/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPointcutDefinitionService.java
b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingAdvisorDefinitionService.java
similarity index 63%
rename from
agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPointcutDefinitionService.java
rename to
agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingAdvisorDefinitionService.java
index b815773e841..5ad3d9bed23 100644
---
a/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPointcutDefinitionService.java
+++
b/agent/plugins/tracing/type/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingAdvisorDefinitionService.java
@@ -17,28 +17,28 @@
package org.apache.shardingsphere.agent.plugin.tracing.opentracing.definition;
-import
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
+import
org.apache.shardingsphere.agent.core.advisor.AdvisorDefinitionServiceEngine;
import
org.apache.shardingsphere.agent.plugin.tracing.core.advice.TracingAdviceEngine;
import
org.apache.shardingsphere.agent.plugin.tracing.opentracing.advice.CommandExecutorTaskAdvice;
import
org.apache.shardingsphere.agent.plugin.tracing.opentracing.advice.JDBCExecutorCallbackAdvice;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
-import org.apache.shardingsphere.agent.spi.PointcutDefinitionService;
+import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.spi.AdvisorDefinitionService;
import java.util.Collection;
/**
- * Open tracing pointcut definition service.
+ * OpenTracing advisor definition service.
*/
-public final class OpenTracingPointcutDefinitionService implements
PointcutDefinitionService {
+public final class OpenTracingAdvisorDefinitionService implements
AdvisorDefinitionService {
@Override
- public Collection<ClassPointcuts> getProxyPointcuts() {
- return new TracingAdviceEngine(new
PointcutDefinitionServiceEngine(this)).adviceProxy(CommandExecutorTaskAdvice.class,
CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
+ public Collection<ClassAdvisor> getProxyAdvisors() {
+ return new TracingAdviceEngine(new
AdvisorDefinitionServiceEngine(this)).getProxyAdvisors(CommandExecutorTaskAdvice.class,
CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
}
@Override
- public Collection<ClassPointcuts> getJDBCPointcuts() {
- return new TracingAdviceEngine(new
PointcutDefinitionServiceEngine(this)).adviceJDBC();
+ public Collection<ClassAdvisor> getJDBCAdvisors() {
+ return new TracingAdviceEngine(new
AdvisorDefinitionServiceEngine(this)).getJDBCAdvisors();
}
@Override
diff --git
a/agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
b/agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.AdvisorDefinitionService
similarity index 95%
rename from
agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
rename to
agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.AdvisorDefinitionService
index dceb2a9b065..f84297b7d71 100644
---
a/agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
+++
b/agent/plugins/tracing/type/opentracing/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.AdvisorDefinitionService
@@ -15,4 +15,4 @@
# limitations under the License.
#
-org.apache.shardingsphere.agent.plugin.tracing.opentracing.definition.OpenTracingPointcutDefinitionService
+org.apache.shardingsphere.agent.plugin.tracing.opentracing.definition.OpenTracingAdvisorDefinitionService
diff --git
a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPointcutDefinitionServiceTest.java
b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingAdvisorDefinitionServiceTest.java
similarity index 83%
rename from
agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPointcutDefinitionServiceTest.java
rename to
agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingAdvisorDefinitionServiceTest.java
index 3b7b9e3270f..2ecc2478a49 100644
---
a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPointcutDefinitionServiceTest.java
+++
b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingAdvisorDefinitionServiceTest.java
@@ -22,10 +22,10 @@ import org.junit.Test;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-public final class OpenTracingPointcutDefinitionServiceTest {
+public final class OpenTracingAdvisorDefinitionServiceTest {
@Test
- public void assertGetProxyClassPointcuts() {
- assertThat(new
OpenTracingPointcutDefinitionService().getProxyPointcuts().size(), is(3));
+ public void assertGetProxyAdvisors() {
+ assertThat(new
OpenTracingAdvisorDefinitionService().getProxyAdvisors().size(), is(3));
}
}
diff --git
a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPointcutDefinitionService.java
b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinAdvisorDefinitionService.java
similarity index 63%
rename from
agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPointcutDefinitionService.java
rename to
agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinAdvisorDefinitionService.java
index ae8f4cd8e0e..7509f55714f 100644
---
a/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPointcutDefinitionService.java
+++
b/agent/plugins/tracing/type/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinAdvisorDefinitionService.java
@@ -17,28 +17,28 @@
package org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition;
-import
org.apache.shardingsphere.agent.core.definition.PointcutDefinitionServiceEngine;
+import
org.apache.shardingsphere.agent.core.advisor.AdvisorDefinitionServiceEngine;
import
org.apache.shardingsphere.agent.plugin.tracing.core.advice.TracingAdviceEngine;
import
org.apache.shardingsphere.agent.plugin.tracing.zipkin.advice.CommandExecutorTaskAdvice;
import
org.apache.shardingsphere.agent.plugin.tracing.zipkin.advice.JDBCExecutorCallbackAdvice;
-import org.apache.shardingsphere.agent.pointcut.ClassPointcuts;
-import org.apache.shardingsphere.agent.spi.PointcutDefinitionService;
+import org.apache.shardingsphere.agent.advisor.ClassAdvisor;
+import org.apache.shardingsphere.agent.spi.AdvisorDefinitionService;
import java.util.Collection;
/**
- * Zipkin pointcut definition service.
+ * Zipkin advisor definition service.
*/
-public final class ZipkinPointcutDefinitionService implements
PointcutDefinitionService {
+public final class ZipkinAdvisorDefinitionService implements
AdvisorDefinitionService {
@Override
- public Collection<ClassPointcuts> getProxyPointcuts() {
- return new TracingAdviceEngine(new
PointcutDefinitionServiceEngine(this)).adviceProxy(CommandExecutorTaskAdvice.class,
CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
+ public Collection<ClassAdvisor> getProxyAdvisors() {
+ return new TracingAdviceEngine(new
AdvisorDefinitionServiceEngine(this)).getProxyAdvisors(CommandExecutorTaskAdvice.class,
CommandExecutorTaskAdvice.class, JDBCExecutorCallbackAdvice.class);
}
@Override
- public Collection<ClassPointcuts> getJDBCPointcuts() {
- return new TracingAdviceEngine(new
PointcutDefinitionServiceEngine(this)).adviceJDBC();
+ public Collection<ClassAdvisor> getJDBCAdvisors() {
+ return new TracingAdviceEngine(new
AdvisorDefinitionServiceEngine(this)).getJDBCAdvisors();
}
@Override
diff --git
a/agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
b/agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.AdvisorDefinitionService
similarity index 96%
rename from
agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
rename to
agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.AdvisorDefinitionService
index 4a669af245d..1d801e65c47 100644
---
a/agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.PointcutDefinitionService
+++
b/agent/plugins/tracing/type/zipkin/src/main/resources/META-INF/services/org.apache.shardingsphere.agent.spi.AdvisorDefinitionService
@@ -15,4 +15,4 @@
# limitations under the License.
#
-org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition.ZipkinPointcutDefinitionService
+org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition.ZipkinAdvisorDefinitionService
diff --git
a/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPointcutDefinitionServiceTest.java
b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinAdvisorDefinitionServiceTest.java
similarity index 83%
rename from
agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPointcutDefinitionServiceTest.java
rename to
agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinAdvisorDefinitionServiceTest.java
index cbd0ca264ef..37fa15af994 100644
---
a/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPointcutDefinitionServiceTest.java
+++
b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinAdvisorDefinitionServiceTest.java
@@ -22,10 +22,10 @@ import org.junit.Test;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-public final class ZipkinPointcutDefinitionServiceTest {
+public final class ZipkinAdvisorDefinitionServiceTest {
@Test
- public void assertGetProxyClassPointcuts() {
- assertThat(new
ZipkinPointcutDefinitionService().getProxyPointcuts().size(), is(3));
+ public void assertGetProxyAdvisors() {
+ assertThat(new
ZipkinAdvisorDefinitionService().getProxyAdvisors().size(), is(3));
}
}
diff --git a/docs/document/content/dev-manual/agent.cn.md
b/docs/document/content/dev-manual/agent.cn.md
index a3714197317..40134fccb65 100644
--- a/docs/document/content/dev-manual/agent.cn.md
+++ b/docs/document/content/dev-manual/agent.cn.md
@@ -40,9 +40,9 @@ chapter = true
| *配置标识* | *详细说明* | *全限定类名* |
| ------------- | --------------------------- | ---------- |
-| Prometheus | Prometheus 插件定义 |
[`org.apache.shardingsphere.agent.metrics.prometheus.definition.PrometheusPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/metrics/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionService.java)
|
-| Logging | Logging 插件定义 |
[`org.apache.shardingsphere.agent.plugin.logging.base.definition.BaseLoggingPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java)
|
-| Jaeger | Jaeger 插件定义 |
[`org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition.JaegerPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java)
|
-| OpenTelemetry | OpenTelemetryTracing 插件定义 |
[`org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.definition.OpenTelemetryTracingPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java)
|
-| OpenTracing | OpenTracing 插件定义 |
[`org.apache.shardingsphere.agent.plugin.tracing.opentracing.definition.OpenTracingPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java)
|
-| Zipkin | Zipkin 插件定义 |
[`org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition.ZipkinPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java)
|
+| Prometheus | Prometheus 插件定义 |
[`org.apache.shardingsphere.agent.metrics.prometheus.definition.PrometheusAdvisorDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/metrics/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionService.java)
|
+| Logging | Logging 插件定义 |
[`org.apache.shardingsphere.agent.plugin.logging.base.definition.BaseLoggingAdvisorDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java)
|
+| Jaeger | Jaeger 插件定义 |
[`org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition.JaegerAdvisorDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java)
|
+| OpenTelemetry | OpenTelemetryTracing 插件定义 |
[`org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.definition.OpenTelemetryTracingAdvisorDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java)
|
+| OpenTracing | OpenTracing 插件定义 |
[`org.apache.shardingsphere.agent.plugin.tracing.opentracing.definition.OpenTracingAdvisorDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java)
|
+| Zipkin | Zipkin 插件定义 |
[`org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition.ZipkinAdvisorDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java)
|
diff --git a/docs/document/content/dev-manual/agent.en.md
b/docs/document/content/dev-manual/agent.en.md
index c3d702989f8..7f813199f92 100644
--- a/docs/document/content/dev-manual/agent.en.md
+++ b/docs/document/content/dev-manual/agent.en.md
@@ -40,9 +40,9 @@ Agent plugin definition
| *Configuration Type* | *Description* |
*Fully-qualified class name* |
| -------------------- |--------------------------------------- |
---------------------------- |
-| Prometheus | Prometheus plugin definition |
[`org.apache.shardingsphere.agent.metrics.prometheus.definition.PrometheusPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/metrics/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionService.java)
|
-| Logging | Logging plugin definition |
[`org.apache.shardingsphere.agent.plugin.logging.base.definition.BaseLoggingPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java)
|
-| Jaeger | Jaeger plugin definition |
[`org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition.JaegerPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java)
|
-| OpenTelemetry | OpenTelemetryTracing plugin definition |
[`org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.definition.OpenTelemetryTracingPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java)
|
-| OpenTracing | OpenTracing plugin definition |
[`org.apache.shardingsphere.agent.plugin.tracing.opentracing.definition.OpenTracingPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java)
|
-| Zipkin | Zipkin plugin definition |
[`org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition.ZipkinPointcutDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java)
|
+| Prometheus | Prometheus plugin definition |
[`org.apache.shardingsphere.agent.metrics.prometheus.definition.PrometheusAdvisorDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/metrics/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionService.java)
|
+| Logging | Logging plugin definition |
[`org.apache.shardingsphere.agent.plugin.logging.base.definition.BaseLoggingAdvisorDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java)
|
+| Jaeger | Jaeger plugin definition |
[`org.apache.shardingsphere.agent.plugin.tracing.jaeger.definition.JaegerAdvisorDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java)
|
+| OpenTelemetry | OpenTelemetryTracing plugin definition |
[`org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.definition.OpenTelemetryTracingAdvisorDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java)
|
+| OpenTracing | OpenTracing plugin definition |
[`org.apache.shardingsphere.agent.plugin.tracing.opentracing.definition.OpenTracingAdvisorDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java)
|
+| Zipkin | Zipkin plugin definition |
[`org.apache.shardingsphere.agent.plugin.tracing.zipkin.definition.ZipkinAdvisorDefinitionService`](https://github.com/apache/shardingsphere/blob/master/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java)
|