You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2022/12/14 07:09:25 UTC

[shardingsphere] branch master updated: Remove setter for AgentAdvisors.isEnhancedForProxy (#22868)

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

zhonghongsheng 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 ace4036bb6d Remove setter for AgentAdvisors.isEnhancedForProxy (#22868)
ace4036bb6d is described below

commit ace4036bb6d0e4bd07b6abe52ae543cfb706aeb3
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Wed Dec 14 15:09:18 2022 +0800

    Remove setter for AgentAdvisors.isEnhancedForProxy (#22868)
---
 .../agent/bootstrap/ShardingSphereAgent.java       | 22 ++++++++--------------
 .../agent/core/plugin/AgentAdvisors.java           |  7 +++----
 .../agent/core/plugin/AgentAdvisorsTest.java       |  2 +-
 .../core/transformer/AgentTransformerTest.java     |  2 +-
 4 files changed, 13 insertions(+), 20 deletions(-)

diff --git a/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/ShardingSphereAgent.java b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/ShardingSphereAgent.java
index 00697e8678b..8d32943e36e 100644
--- a/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/ShardingSphereAgent.java
+++ b/agent/bootstrap/src/main/java/org/apache/shardingsphere/agent/bootstrap/ShardingSphereAgent.java
@@ -54,17 +54,20 @@ public final class ShardingSphereAgent {
     public static void premain(final String args, final Instrumentation instrumentation) throws IOException {
         AgentConfiguration agentConfig = AgentConfigurationLoader.load();
         AgentConfigurationRegistry.INSTANCE.put(agentConfig);
-        AgentAdvisors agentAdvisors = loadAgentAdvisors();
+        AgentAdvisors agentAdvisors = new AgentAdvisors(new AgentPluginLoader().load(), isEnhancedForProxy());
         setUpAgentBuilder(instrumentation, agentAdvisors);
         if (agentAdvisors.isEnhancedForProxy()) {
             setupPluginBootService(agentConfig.getPlugins());
         }
     }
     
-    private static AgentAdvisors loadAgentAdvisors() throws IOException {
-        AgentAdvisors result = new AgentAdvisors(new AgentPluginLoader().load());
-        result.setEnhancedForProxy(isEnhancedForProxy());
-        return result;
+    private static boolean isEnhancedForProxy() {
+        try {
+            Class.forName("org.apache.shardingsphere.proxy.Bootstrap");
+        } catch (final ClassNotFoundException ignored) {
+            return false;
+        }
+        return true;
     }
     
     private static void setUpAgentBuilder(final Instrumentation instrumentation, final AgentAdvisors agentAdvisors) {
@@ -81,13 +84,4 @@ public final class ShardingSphereAgent {
         PluginBootServiceManager.startAllServices(pluginConfigs, AgentClassLoader.getClassLoader(), true);
         Runtime.getRuntime().addShutdownHook(new Thread(PluginBootServiceManager::closeAllServices));
     }
-    
-    private static boolean isEnhancedForProxy() {
-        try {
-            Class.forName("org.apache.shardingsphere.proxy.Bootstrap");
-        } catch (final ClassNotFoundException ignored) {
-            return false;
-        }
-        return true;
-    }
 }
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/AgentAdvisors.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/AgentAdvisors.java
index 6d3e79eb89d..439520d1f6e 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/AgentAdvisors.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/AgentAdvisors.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.agent.core.plugin;
 
 import com.google.common.collect.ImmutableMap;
 import lombok.Getter;
-import lombok.Setter;
 import net.bytebuddy.description.type.TypeDescription;
 import net.bytebuddy.matcher.ElementMatcher;
 import net.bytebuddy.matcher.ElementMatcher.Junction;
@@ -47,12 +46,12 @@ public final class AgentAdvisors {
     private final Map<String, ClassAdvisor> advisors;
     
     @Getter
-    @Setter
-    private boolean isEnhancedForProxy = true;
+    private final boolean isEnhancedForProxy;
     
-    public AgentAdvisors(final Collection<PluginJar> pluginJars) {
+    public AgentAdvisors(final Collection<PluginJar> pluginJars, final boolean isEnhancedForProxy) {
         AgentClassLoader.init(pluginJars);
         advisors = loadAdvisors(AgentClassLoader.getClassLoader());
+        this.isEnhancedForProxy = isEnhancedForProxy;
     }
     
     private Map<String, ClassAdvisor> loadAdvisors(final ClassLoader classLoader) {
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/AgentAdvisorsTest.java b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/AgentAdvisorsTest.java
index 1bddd1b4f79..45e67e95fa9 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/AgentAdvisorsTest.java
+++ b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/AgentAdvisorsTest.java
@@ -43,7 +43,7 @@ import static org.junit.Assert.assertTrue;
 
 public final class AgentAdvisorsTest {
     
-    private static final AgentAdvisors AGENT_ADVISORS = new AgentAdvisors(Collections.emptyList());
+    private static final AgentAdvisors AGENT_ADVISORS = new AgentAdvisors(Collections.emptyList(), true);
     
     private static final TypePool POOL = TypePool.Default.ofSystemLoader();
     
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformerTest.java b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformerTest.java
index 2ef28a3c52b..25b209c86dc 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformerTest.java
+++ b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformerTest.java
@@ -57,7 +57,7 @@ import static org.junit.Assert.assertArrayEquals;
 
 public final class AgentTransformerTest {
     
-    private static final AgentAdvisors AGENT_ADVISORS = new AgentAdvisors(Collections.emptyList());
+    private static final AgentAdvisors AGENT_ADVISORS = new AgentAdvisors(Collections.emptyList(), true);
     
     private static ResettableClassFileTransformer byteBuddyAgent;