java.lang.StackOverflowError: null org.apache.dubbo.common.utils.SerializeSecurityManager.checkClass

 技术选型

        springboot + dubboX +zookeeper +mybatis-plus

架构

出现的问题:

2023-08-16 20:58:22.986 ERROR 25472 --- [           main] o.a.d.c.deploy.DefaultModuleDeployer     :  [DUBBO] Model start failed: Dubbo Module[1.1.1] start failed: java.lang.StackOverflowError, dubbo version: 3.2.0-beta.4, current host: 26.147.92.46, error code: 5-14. This may be caused by , go to https://dubbo.apache.org/faq/5/14 to find instructions. 

java.lang.StackOverflowError: null
	at java.util.HashMap.hash(HashMap.java:340) ~[na:1.8.0_362]
	at java.util.HashMap.containsKey(HashMap.java:597) ~[na:1.8.0_362]
	at java.util.HashSet.contains(HashSet.java:204) ~[na:1.8.0_362]
	at org.apache.dubbo.common.utils.SerializeSecurityManager.checkClass(SerializeSecurityManager.java:153) ~[dubbo-3.2.0-beta.4.jar:3.2.0-beta.4]
	at org.apache.dubbo.common.utils.SerializeSecurityManager.checkType(SerializeSecurityManager.java:126) ~[dubbo-3.2.0-beta.4.jar:3.2.0-beta.4]
	at org.apache.dubbo.common.utils.SerializeSecurityManager.checkType(SerializeSecurityManager.java:139) ~[dubbo-3.2.0-beta.4.jar:3.2.0-beta.4]
	at org.apache.dubbo.common.utils.SerializeSecurityManager.checkType(SerializeSecurityManager.java:131) ~[dubbo-3.2.0-beta.4.jar:3.2.0-beta.4]
	at org.apache.dubbo.common.utils.SerializeSecurityManager.checkType(SerializeSecurityManager.java:139) ~[dubbo-3.2.0-beta.4.jar:3.2.0-beta.4]
	at org.apache.dubbo.common.utils.SerializeSecurityManager.checkType(SerializeSecurityManager.java:131) ~[dubbo-3.2.0-beta.4.jar:3.2.0-beta.4]
	at org.apache.dubbo.common.utils.SerializeSecurityManager.checkType(SerializeSecurityManager.java:139) ~[dubbo-3.2.0-beta.4.jar:3.2.0-beta.4]
	at org.apache.dubbo.common.utils.SerializeSecurityManager.checkType(SerializeSecurityManager.java:131) ~[dubbo-3.2.0-beta.4.jar:3.2.0-beta.4]
	at org.apache.dubbo.common.utils.SerializeSecurityManager.checkType(SerializeSecurityManager.java:139) ~[dubbo-3.2.0-beta.4.jar:3.2.0-beta.4]
	at org.apache.dubbo.common.utils.SerializeSecurityManager.checkType(Serializ

java.lang.StackOverflowError: null
    at java.util.HashMap.hash(HashMap.java:340) ~[na:1.8.0_362]
    at java.util.HashMap.containsKey(HashMap.java:597) ~[na:1.8.0_362]
    at java.util.HashSet.contains(HashSet.java:204) ~[na:1.8.0_362]
    at org.apache.dubbo.common.utils.SerializeSecurityManager.checkClass(SerializeSecurityManager.java:153) ~[dubbo-3.2.0-beta.4.jar:3.2.0-beta.4]
    at 

思考

依赖问题:

技术选型:dubbo+zookeeper为3.0版本以上也就是DubboX

父类依赖

<properties>
        <dubbo.version>3.2.0-beta.4</dubbo.version>
        <spring-boot.version>2.3.4.RELEASE</spring-boot.version>

    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- Spring Boot -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- Dubbo -->
            <dependency>
                <groupId>org.apache.dubbo</groupId>
                <artifactId>dubbo-bom</artifactId>
                <version>${dubbo.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.dubbo</groupId>
                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                <version>${dubbo.version}</version>
                <type>pom</type>
            </dependency>
        </dependencies>
    </dependencyManagement>

 生产者provide

 <dependencies>
        <dependency>
            <groupId>com.atdession</groupId>
            <artifactId>dubbo-springboot-demo-interface</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

        <!-- dubbo -->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
        </dependency>






        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
            <type>pom</type>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-reload4j</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>slf4j-log4j12</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- spring boot starter -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>




    </dependencies>

消费者 

 <dependencies>
        <dependency>
            <groupId>com.atdession</groupId>
            <artifactId>dubbo-springboot-demo-interface</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

        <!-- dubbo -->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
        </dependency>






        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
            <type>pom</type>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-reload4j</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>slf4j-log4j12</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- spring boot starter -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>




    </dependencies>

以上是3.0版本的dubboX,思考是否是依赖过于新颖,所以,我就将dubbo+zookeeper改为了2.7

解决

生产者

 <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo-dependencies-zookeeper</artifactId>
        <version>2.7.4.1</version>
        <type>pom</type>
        <exclusions>
            <exclusion>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <!-- dubbo 2.7.x引入-->
    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo-spring-boot-starter</artifactId>
        <version>2.7.4.1</version>
    </dependency>

消费者

 <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-dependencies-zookeeper</artifactId>
            <version>2.7.4.1</version>
            <type>pom</type>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- dubbo 2.7.x引入-->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>2.7.4.1</version>
        </dependency>

 

发现问题被解决!!!!!!

总结

        因为我使用的DubboX+zookeeper组合。也就是所使用的Dubbo3.0版本的,所以出现的上面的问题,因为dubbo3.0以上的版本还不稳定,出现了很多bug,所以我将技术选型的Dubbo+zookeeper 换到了2.7.4.1版本问题就被解决了,就是因为版本过高出现的jar包依赖问题。所以还是尽量使用低版本吧。

猜你喜欢

转载自blog.csdn.net/wang20000102/article/details/132332702