From a5e76e34425f74417acaa2c4258a6a847e435994 Mon Sep 17 00:00:00 2001 From: liaozan <378024053@qq.com> Date: Tue, 30 May 2023 03:44:58 +0800 Subject: [PATCH] Refine dubbo serialize check settings --- ...boSerializeCheckScopeModelInitializer.java | 39 +++++++++++++++++++ .../DubboConfigInitEventListener.java | 4 -- ...ache.dubbo.rpc.model.ScopeModelInitializer | 1 + .../spring-configuration-metadata.json | 10 +++++ 4 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 starters/dubbo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/dubbo/initializer/DubboSerializeCheckScopeModelInitializer.java create mode 100644 starters/dubbo-spring-boot-starter/src/main/resources/META-INF/dubbo/org.apache.dubbo.rpc.model.ScopeModelInitializer diff --git a/starters/dubbo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/dubbo/initializer/DubboSerializeCheckScopeModelInitializer.java b/starters/dubbo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/dubbo/initializer/DubboSerializeCheckScopeModelInitializer.java new file mode 100644 index 0000000..732be16 --- /dev/null +++ b/starters/dubbo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/dubbo/initializer/DubboSerializeCheckScopeModelInitializer.java @@ -0,0 +1,39 @@ +package com.schbrain.framework.autoconfigure.dubbo.initializer; + +import com.alibaba.fastjson2.JSONFactory; +import org.apache.dubbo.common.beans.factory.ScopeBeanFactory; +import org.apache.dubbo.common.utils.SerializeCheckStatus; +import org.apache.dubbo.common.utils.SerializeSecurityManager; +import org.apache.dubbo.rpc.model.*; + +/** + * @author liaozan + * @since 2023-05-30 + */ +public class DubboSerializeCheckScopeModelInitializer implements ScopeModelInitializer { + + public DubboSerializeCheckScopeModelInitializer() { + JSONFactory.setUseJacksonAnnotation(false); + System.setProperty("dubbo.hessian.allowNonSerializable", Boolean.TRUE.toString()); + } + + @Override + public void initializeFrameworkModel(FrameworkModel frameworkModel) { + ScopeBeanFactory beanFactory = frameworkModel.getBeanFactory(); + SerializeSecurityManager securityManager = beanFactory.getBean(SerializeSecurityManager.class); + securityManager.setCheckSerializable(false); + securityManager.setCheckStatus(SerializeCheckStatus.DISABLE); + securityManager.setDefaultCheckStatus(SerializeCheckStatus.DISABLE); + } + + @Override + public void initializeApplicationModel(ApplicationModel applicationModel) { + + } + + @Override + public void initializeModuleModel(ModuleModel moduleModel) { + + } + +} diff --git a/starters/dubbo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/dubbo/listener/DubboConfigInitEventListener.java b/starters/dubbo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/dubbo/listener/DubboConfigInitEventListener.java index 7f634c1..0a2b105 100644 --- a/starters/dubbo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/dubbo/listener/DubboConfigInitEventListener.java +++ b/starters/dubbo-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/dubbo/listener/DubboConfigInitEventListener.java @@ -1,6 +1,5 @@ package com.schbrain.framework.autoconfigure.dubbo.listener; -import com.alibaba.fastjson2.JSONFactory; import org.apache.dubbo.config.ConfigCenterConfig; import org.apache.dubbo.config.context.ConfigManager; import org.apache.dubbo.config.spring.context.event.DubboConfigInitEvent; @@ -29,9 +28,6 @@ class DubboConfigInitEventListener implements ApplicationListener