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

albumenj pushed a commit to branch 3.1
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/3.1 by this push:
     new 400f756abb Avoid getting the whitelist every time and causing 
performance degradation (#10775)
400f756abb is described below

commit 400f756abbd1d7f679ff99aed8d873ab2ba9fc01
Author: huazhongming <[email protected]>
AuthorDate: Sat Oct 22 16:08:01 2022 +0800

    Avoid getting the whitelist every time and causing performance degradation 
(#10775)
---
 .../hessian2/dubbo/Hessian2FactoryInitializer.java        | 11 ++++++-----
 .../dubbo/WhitelistHessian2FactoryInitializer.java        | 15 ++++++---------
 2 files changed, 12 insertions(+), 14 deletions(-)

diff --git 
a/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/dubbo/Hessian2FactoryInitializer.java
 
b/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/dubbo/Hessian2FactoryInitializer.java
index 814f27f747..842888cf1b 100644
--- 
a/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/dubbo/Hessian2FactoryInitializer.java
+++ 
b/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/dubbo/Hessian2FactoryInitializer.java
@@ -26,16 +26,17 @@ import com.alibaba.com.caucho.hessian.io.SerializerFactory;
 
 @SPI(value = "default", scope = ExtensionScope.FRAMEWORK)
 public interface Hessian2FactoryInitializer {
-    String WHITELIST = "dubbo.application.hessian2.whitelist";
-    String ALLOW = "dubbo.application.hessian2.allow";
-    String DENY = "dubbo.application.hessian2.deny";
+    String ALLOW = System.getProperty("dubbo.application.hessian2.allow");
+    String DENY = System.getProperty("dubbo.application.hessian2.deny");
+    String WHITELIST = 
System.getProperty("dubbo.application.hessian2.whitelist");
+
+    String ALLOW_NON_SERIALIZABLE = 
System.getProperty("dubbo.hessian.allowNonSerializable", "false");
 
     SerializerFactory getSerializerFactory();
 
     static Hessian2FactoryInitializer getInstance() {
         ExtensionLoader<Hessian2FactoryInitializer> loader = 
FrameworkModel.defaultModel().getExtensionLoader(Hessian2FactoryInitializer.class);
-        String whitelist = System.getProperty(WHITELIST);
-        if (StringUtils.isNotEmpty(whitelist)) {
+        if (StringUtils.isNotEmpty(WHITELIST)) {
             return loader.getExtension("whitelist");
         }
         return loader.getDefaultExtension();
diff --git 
a/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/dubbo/WhitelistHessian2FactoryInitializer.java
 
b/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/dubbo/WhitelistHessian2FactoryInitializer.java
index 6d7c88efbc..53bcb0f0cb 100644
--- 
a/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/dubbo/WhitelistHessian2FactoryInitializer.java
+++ 
b/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/dubbo/WhitelistHessian2FactoryInitializer.java
@@ -29,25 +29,22 @@ public class WhitelistHessian2FactoryInitializer extends 
AbstractHessian2Factory
     @Override
     public SerializerFactory createSerializerFactory() {
         SerializerFactory serializerFactory = new Hessian2SerializerFactory();
-        String whiteList = System.getProperty(WHITELIST);
-        if ("true".equals(whiteList)) {
+        if ("true".equals(WHITELIST)) {
             serializerFactory.getClassFactory().setWhitelist(true);
-            String allowPattern = System.getProperty(ALLOW);
-            if (StringUtils.isNotEmpty(allowPattern)) {
-                for (String pattern : allowPattern.split(";")) {
+            if (StringUtils.isNotEmpty(ALLOW)) {
+                for (String pattern : ALLOW.split(";")) {
                     serializerFactory.getClassFactory().allow(pattern);
                 }
             }
         } else {
             serializerFactory.getClassFactory().setWhitelist(false);
-            String denyPattern = System.getProperty(DENY);
-            if (StringUtils.isNotEmpty(denyPattern)) {
-                for (String pattern : denyPattern.split(";")) {
+            if (StringUtils.isNotEmpty(DENY)) {
+                for (String pattern : DENY.split(";")) {
                     serializerFactory.getClassFactory().deny(pattern);
                 }
             }
         }
-        
serializerFactory.setAllowNonSerializable(Boolean.parseBoolean(System.getProperty("dubbo.hessian.allowNonSerializable",
 "false")));
+        
serializerFactory.setAllowNonSerializable(Boolean.parseBoolean(ALLOW_NON_SERIALIZABLE));
         serializerFactory.getClassFactory().allow("org.apache.dubbo.*");
         return serializerFactory;
     }

Reply via email to