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;
}