apache / incubator-seata

:fire: Seata is an easy-to-use, high-performance, open source distributed transaction solution.
https://seata.apache.org/
Apache License 2.0
25.21k stars 8.75k forks source link

当使用jdk21的时候,seata无法连接到zookeeper #6772

Closed Xieyinfeng101 closed 12 hours ago

Xieyinfeng101 commented 3 weeks ago

Ⅰ. Issue Description

当使用jdk21的时候,seata无法连接到zookeeper

Ⅱ. Describe what happened

If there is an exception, please attach the exception trace:

Just paste your stack trace here!

Ⅲ. Describe what you expected to happen

Ⅳ. How to reproduce it (as minimally and precisely as possible)

  1. xxx
  2. xxx
  3. xxx

Minimal yet complete reproducer code (or URL to code):

Ⅴ. Anything else we need to know?

Ⅵ. Environment:

funky-eyes commented 3 weeks ago

@leizhiyuan PTAL

leizhiyuan commented 3 weeks ago

有相关的错误日志吗? @Xieyinfeng101

leizhiyuan commented 3 weeks ago
image

我这边使用2.0.0的版本,如图所示,jdk21,本地测试,链接zk作为注册中心

image

看着没有问题。seata的console也能正常打开使用,日志也显示连接zk正常。

Xieyinfeng101 commented 3 weeks ago
image

我这边使用2.0.0的版本,如图所示,jdk21,本地测试,链接zk作为注册中心

image

看着没有问题。seata的console也能正常打开使用,日志也显示连接zk正常。

zookeeper版本是3.9.2,无论是启动seata还是直接使用zkclient连接zookeeper,jdk是21 ,都无法成功连接到zk,报错信息一致,就是连接超时

leizhiyuan commented 3 weeks ago

图片看不到,我这边

image

zk版本是3.9.1

leizhiyuan commented 3 weeks ago

提供详细的日志吧。

Xieyinfeng101 commented 3 weeks ago

提供详细的日志吧。

Caused by: java.lang.RuntimeException: org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server 'localhost:2181' with timeout of 2000 ms at io.seata.config.zk.ZookeeperConfigurationProvider.provide(ZookeeperConfigurationProvider.java:32) ~[seata-all-2.0.0.jar:2.0.0] at io.seata.config.ConfigurationFactory.buildConfiguration(ConfigurationFactory.java:160) ~[seata-all-2.0.0.jar:2.0.0] at io.seata.config.ConfigurationFactory.getInstance(ConfigurationFactory.java:112) ~[seata-all-2.0.0.jar:2.0.0] at io.seata.spring.annotation.GlobalTransactionScanner.(GlobalTransactionScanner.java:109) ~[seata-all-2.0.0.jar:2.0.0] at io.seata.spring.annotation.GlobalTransactionScanner.(GlobalTransactionScanner.java:155) ~[seata-all-2.0.0.jar:2.0.0] at io.seata.spring.annotation.GlobalTransactionScanner.(GlobalTransactionScanner.java:144) ~[seata-all-2.0.0.jar:2.0.0] at com.xyf.consumer.config.SeataConfig.globalTransactionScanner(SeataConfig.java:40) ~[classes/:na] at com.xyf.consumer.config.SeataConfig$$SpringCGLIB$$0.CGLIB$globalTransactionScanner$1() ~[classes/:na] at com.xyf.consumer.config.SeataConfig$$SpringCGLIB$$FastClass$$1.invoke() ~[classes/:na] at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:258) ~[spring-core-6.1.10.jar:6.1.10] at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:348) ~[spring-context-6.1.10.jar:6.1.10] at com.xyf.consumer.config.SeataConfig$$SpringCGLIB$$0.globalTransactionScanner() ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:140) ~[spring-beans-6.1.10.jar:6.1.10] ... 20 common frames omitted Caused by: org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server 'localhost:2181' with timeout of 2000 ms at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:1233) ~[zkclient-0.11.jar:na] at org.I0Itec.zkclient.ZkClient.(ZkClient.java:157) ~[zkclient-0.11.jar:na] at org.I0Itec.zkclient.ZkClient.(ZkClient.java:131) ~[zkclient-0.11.jar:na] at org.I0Itec.zkclient.ZkClient.(ZkClient.java:98) ~[zkclient-0.11.jar:na] at io.seata.config.zk.ZookeeperConfiguration.(ZookeeperConfiguration.java:100) ~[seata-all-2.0.0.jar:2.0.0] at io.seata.config.zk.ZookeeperConfigurationProvider.provide(ZookeeperConfigurationProvider.java:30) ~[seata-all-2.0.0.jar:2.0.0] ... 34 common frames omitted

上面是日志,我使用的是seat-all这个依赖,zookeeper是3.9.2,平台是windows,如果使用curator-x-discovery这个依赖是可以正常连接到zookeeper的

leizhiyuan commented 3 weeks ago

zk { cluster = "default" serverAddr = "127.0.0.1:2181" sessionTimeout = 6000 connectTimeout = 2000 } 试着调整一下connectTimeout,调整到比如10s,看看是不是默认的client和curator-x-discovery默认超时时间不同导致的

leizhiyuan commented 3 weeks ago

从这个报错上面看,跟seata本身应该没什么关系。

Xieyinfeng101 commented 3 weeks ago

是的和seata本身没有关系就是zkclient的问题,我刚才单独使用了

com.101tec
        <artifactId>zkclient</artifactId>
        <version>0.11</version>
    </dependency>

这个依赖 在main函数中直接去连接

ZkClient zkClient = new ZkClient("127.0.0.1:2181",10000); 同样报错

D:\openjdk_and_graalvm\graalvm-jdk-21.0.2+13.1\bin\java.exe "-javaagent:D:\JAVA_TOOLS\IntelliJ IDEA 2023.2\lib\idea_rt.jar=52346:D:\JAVA_TOOLS\IntelliJ IDEA 2023.2\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\MY_OPEN_SOURCE\untitled\target\classes;D:\JAVA_TOOLS\mvn_repository\com\101tec\zkclient\0.11\zkclient-0.11.jar;D:\JAVA_TOOLS\mvn_repository\org\apache\zookeeper\zookeeper\3.4.13\zookeeper-3.4.13.jar;D:\JAVA_TOOLS\mvn_repository\org\slf4j\slf4j-log4j12\1.7.25\slf4j-log4j12-1.7.25.jar;D:\JAVA_TOOLS\mvn_repository\log4j\log4j\1.2.17\log4j-1.2.17.jar;D:\JAVA_TOOLS\mvn_repository\jline\jline\0.9.94\jline-0.9.94.jar;D:\JAVA_TOOLS\mvn_repository\org\apache\yetus\audience-annotations\0.5.0\audience-annotations-0.5.0.jar;D:\JAVA_TOOLS\mvn_repository\io\netty\netty\3.10.6.Final\netty-3.10.6.Final.jar;D:\JAVA_TOOLS\mvn_repository\org\slf4j\slf4j-api\1.6.1\slf4j-api-1.6.1.jar org.xyf.test.App log4j:WARN No appenders could be found for logger (org.I0Itec.zkclient.ZkConnection). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. log4j:WARN No appenders could be found for logger (org.I0Itec.zkclient.ZkEventThread). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. Exception in thread "main" org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server '127.0.0.1:2181' with timeout of 10000 ms at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:1233) at org.I0Itec.zkclient.ZkClient.(ZkClient.java:157) at org.I0Itec.zkclient.ZkClient.(ZkClient.java:131) at org.I0Itec.zkclient.ZkClient.(ZkClient.java:127) at org.I0Itec.zkclient.ZkClient.(ZkClient.java:90) at org.xyf.test.App.main(App.java:26)

Process finished with exit code 1

我想可以肯定的是这是zkclient这个依赖不支持,同样的dubbo中原来也有这种问题,他们把zk的客户端换成了curator5

leizhiyuan commented 3 weeks ago

这个我测试了一下,如果直接写demo,看上去是可以浮现,但是问题不在zkclient,而在于里面的zookeeper版本。


public class Starter {

    public static void main(String[] args) {
        ZkClient zkClient = new ZkClient("127.0.0.1:2181",10000);

        zkClient.getChildren("/").forEach(System.out::println);
    }
}
image

测试demo里面,依赖调整成

<groupId>com.101tec</groupId>
        <artifactId>zkclient</artifactId>
        <version>0.11</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.zookeeper</groupId>
                    <artifactId>zookeeper</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.5.9</version>
        </dependency>

可以验证ok,com.101tec 自带的zk依赖版本比较低。seata2.x里面自带的是3.5.9版本,所以应该没有问题

leizhiyuan commented 3 weeks ago

你的问题可能是你的项目中

            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.5.9</version>
        </dependency>

这个包依赖有冲突,最终运行使用了低版本的,你可以排除验证下。

Xieyinfeng101 commented 3 weeks ago

这是我的依赖信息

2023.0.3 org.springframework.cloud spring-cloud-starter-zookeeper-discovery [cid:56f3f9d0-490f-43ac-a070-6786a0f3b648]从图中可以看到,此依赖中使用的zk客户端是curator5的版本,可以正常连接,在这里去换zookeeper的版本可能并不是一种好的选择 ________________________________ 发件人: Lei Zhiyuan ***@***.***> 发送时间: 2024年8月22日 10:13 收件人: apache/incubator-seata ***@***.***> 抄送: Xieyinfeng101 ***@***.***>; Mention ***@***.***> 主题: Re: [apache/incubator-seata] 当使用jdk21的时候,seata无法连接到zookeeper (Issue #6772) 你的问题可能是你的项目中 org.apache.zookeeper zookeeper 3.5.9 这个包依赖有冲突,最终运行使用了低版本的,你可以排除验证下。 ― Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: ***@***.***>
leizhiyuan commented 3 weeks ago

我意思是直接使用 seata的依赖应该是没问题的,你的项目通过别的第三方mvn,改变了这个依赖,所以你链接会有问题

你可以通过mvn dependecny: tree 看一下你的zk依赖。这需要业务使用方自己解决。

后续即使seata使用curator-x-discovery,也会有个切换的时间。

Xieyinfeng101 commented 3 weeks ago

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0
<parent>
    <groupId>com.xyf</groupId>
    <artifactId>scaffold</artifactId>
    <version>1.0-SNAPSHOT</version>
</parent>

<artifactId>consumer</artifactId>

<properties>
    <maven.compiler.source>21</maven.compiler.source>
    <maven.compiler.target>21</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
    <dependency>
        <groupId>com.xyf</groupId>
        <artifactId>common</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>

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

    <!--        注册中心-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
    </dependency>

    <!--        grpc-->
    <dependency>
        <groupId>net.devh</groupId>
        <artifactId>grpc-spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
    </dependency>

    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
        <version>3.5.5</version>
    </dependency>
    <dependency>
        <groupId>io.seata</groupId>
        <artifactId>seata-all</artifactId>
        <version>2.0.0</version>
    </dependency>
    <dependency>
        <groupId>com.101tec</groupId>
        <artifactId>zkclient</artifactId>
        <version>0.11</version>
        <exclusions>
            <exclusion>
                <artifactId>log4j</artifactId>
                <groupId>log4j</groupId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>

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

</dependencies>

好的,这是我的maven文件,看起来除了spring cloud的注册中心没有任何其它地方会引入zookeeper的client

[cid:7c0cfbea-ad3d-41fc-a29c-fca0439a510c] 这是seata中使用的zkclient 这个zkclient在执行new zkclient这一行代码的时候就会报错,而这行代码和其它依赖应该是没有关系的才对,也就是它自带的默认的zk版本就有问题。期待后续可以把这个client换了,这个倒不是什么紧急的事


发件人: Lei Zhiyuan @.> 发送时间: 2024年8月22日 10:25 收件人: apache/incubator-seata @.> 抄送: Xieyinfeng101 @.>; Mention @.> 主题: Re: [apache/incubator-seata] 当使用jdk21的时候,seata无法连接到zookeeper (Issue #6772)

我意思是直接使用 seata的依赖应该是没问题的,你的项目通过别的第三方mvn,改变了这个依赖,所以你链接会有问题

你可以通过mvn dependecny: tree 看一下你的zk依赖。这需要业务使用方自己解决。

后续即使seata使用curator-x-discovery,也会有个切换的时间。

― Reply to this email directly, view it on GitHubhttps://github.com/apache/incubator-seata/issues/6772#issuecomment-2303554171, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BH6XZIDXRQKNYWF7U4FNU5DZSVD3LAVCNFSM6AAAAABMZSNAZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBTGU2TIMJXGE. You are receiving this because you were mentioned.Message ID: @.***>

leizhiyuan commented 3 weeks ago
<groupId>com.101tec</groupId>
        <artifactId>zkclient</artifactId>
        <version>0.11</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.zookeeper</groupId>
                    <artifactId>zookeeper</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.5.9</version>
        </dependency>

你把你引入com.101tec的这个地方,改成这个就行了。

Xieyinfeng101 commented 3 weeks ago

我尝试着这样做了,但报错和原来一模一样


发件人: Lei Zhiyuan @.> 发送时间: 2024年8月22日 11:18 收件人: apache/incubator-seata @.> 抄送: Xieyinfeng101 @.>; Mention @.> 主题: Re: [apache/incubator-seata] 当使用jdk21的时候,seata无法连接到zookeeper (Issue #6772)

com.101tec
    <artifactId>zkclient</artifactId>
    <version>0.11</version>
        <exclusions>
            <exclusion>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>3.5.9</version>
    </dependency>

你把你引入com.101tec的这个地方,改成这个就行了。

― Reply to this email directly, view it on GitHubhttps://github.com/apache/incubator-seata/issues/6772#issuecomment-2303595213, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BH6XZIAU4LQLNWVCAZ2NQQ3ZSVJ7FAVCNFSM6AAAAABMZSNAZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBTGU4TKMRRGM. You are receiving this because you were mentioned.Message ID: @.***>

leizhiyuan commented 3 weeks ago

说明你依赖没有解决正确。你直接在你项目下执行mvn dependecny:tree > x.log 然后吧结果发一下

Xieyinfeng101 commented 3 weeks ago

[INFO] org.example:untitled:jar:1.0-SNAPSHOT [INFO] +- com.101tec:zkclient:jar:0.11:compile [INFO] | - org.slf4j:slf4j-api:jar:1.6.1:compile [INFO] - org.apache.zookeeper:zookeeper:jar:3.5.9:compile [INFO] +- org.apache.zookeeper:zookeeper-jute:jar:3.5.9:compile [INFO] +- org.apache.yetus:audience-annotations:jar:0.5.0:compile [INFO] +- io.netty:netty-handler:jar:4.1.50.Final:compile [INFO] | +- io.netty:netty-common:jar:4.1.50.Final:compile [INFO] | +- io.netty:netty-resolver:jar:4.1.50.Final:compile [INFO] | +- io.netty:netty-buffer:jar:4.1.50.Final:compile [INFO] | +- io.netty:netty-transport:jar:4.1.50.Final:compile [INFO] | - io.netty:netty-codec:jar:4.1.50.Final:compile [INFO] +- io.netty:netty-transport-native-epoll:jar:4.1.50.Final:compile [INFO] | - io.netty:netty-transport-native-unix-common:jar:4.1.50.Final:compile [INFO] +- org.slf4j:slf4j-log4j12:jar:1.7.25:compile [INFO] - log4j:log4j:jar:1.2.17:compile [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 21.250 s [INFO] Finished at: 2024-08-22T11:31:41+08:00 [INFO] ------------------------------------------------------------------------ [WARNING]


发件人: Lei Zhiyuan @.> 发送时间: 2024年8月22日 11:28 收件人: apache/incubator-seata @.> 抄送: Xieyinfeng101 @.>; Mention @.> 主题: Re: [apache/incubator-seata] 当使用jdk21的时候,seata无法连接到zookeeper (Issue #6772)

说明你依赖没有解决正确。你直接在你项目下执行mvn dependecny:tree > x.log 然后吧结果发一下

― Reply to this email directly, view it on GitHubhttps://github.com/apache/incubator-seata/issues/6772#issuecomment-2303603492, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BH6XZIC2HT7KYURS5JGODTLZSVLHRAVCNFSM6AAAAABMZSNAZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBTGYYDGNBZGI. You are receiving this because you were mentioned.Message ID: @.***>

leizhiyuan commented 3 weeks ago

[INFO] org.example:untitled:jar:1.0-SNAPSHOT [INFO] +- com.101tec:zkclient:jar:0.11:compile [INFO] | - org.slf4j:slf4j-api:jar:1.6.1:compile [INFO] - org.apache.zookeeper:zookeeper:jar:3.5.9:compile [INFO] +- org.apache.zookeeper:zookeeper-jute:jar:3.5.9:compile [INFO] +- org.apache.yetus:audience-annotations:jar:0.5.0:compile [INFO] +- io.netty:netty-handler:jar:4.1.50.Final:compile [INFO] | +- io.netty:netty-common:jar:4.1.50.Final:compile [INFO] | +- io.netty:netty-resolver:jar:4.1.50.Final:compile [INFO] | +- io.netty:netty-buffer:jar:4.1.50.Final:compile [INFO] | +- io.netty:netty-transport:jar:4.1.50.Final:compile [INFO] | - io.netty:netty-codec:jar:4.1.50.Final:compile [INFO] +- io.netty:netty-transport-native-epoll:jar:4.1.50.Final:compile [INFO] | - io.netty:netty-transport-native-unix-common:jar:4.1.50.Final:compile [INFO] +- org.slf4j:slf4j-log4j12:jar:1.7.25:compile [INFO] - log4j:log4j:jar:1.2.17:compile [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 21.250 s [INFO] Finished at: 2024-08-22T11:31:41+08:00 [INFO] ------------------------------------------------------------------------ [WARNING] ____ 发件人: Lei Zhiyuan @.> 发送时间: 2024年8月22日 11:28 收件人: apache/incubator-seata @.> 抄送: Xieyinfeng101 @.>; Mention @.> 主题: Re: [apache/incubator-seata] 当使用jdk21的时候,seata无法连接到zookeeper (Issue #6772) 说明你依赖没有解决正确。你直接在你项目下执行mvn dependecny:tree > x.log 然后吧结果发一下 ― Reply to this email directly, view it on GitHub<#6772 (comment)>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BH6XZIC2HT7KYURS5JGODTLZSVLHRAVCNFSM6AAAAABMZSNAZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBTGYYDGNBZGI. You are receiving this because you were mentioned.Message ID: @.***>

你现在这个依赖的情况下,这个demo还是连接不上zk? 我这边跟你一样,是没问题的

leizhiyuan commented 3 weeks ago
[INFO] --- dependency:3.6.1:tree (default-cli) @ hunter ---
[INFO] org.example:hunter:jar:1.0-SNAPSHOT
[INFO] +- commons-io:commons-io:jar:2.11.0:compile
[INFO] +- com.101tec:zkclient:jar:0.11:compile
[INFO] |  \- org.slf4j:slf4j-api:jar:1.6.1:compile
[INFO] +- org.apache.zookeeper:zookeeper:jar:3.5.9:compile
[INFO] |  +- org.apache.zookeeper:zookeeper-jute:jar:3.5.9:compile
[INFO] |  +- org.apache.yetus:audience-annotations:jar:0.5.0:compile
[INFO] |  +- io.netty:netty-handler:jar:4.1.50.Final:compile
[INFO] |  |  +- io.netty:netty-common:jar:4.1.50.Final:compile
[INFO] |  |  +- io.netty:netty-resolver:jar:4.1.50.Final:compile
[INFO] |  |  +- io.netty:netty-buffer:jar:4.1.50.Final:compile
[INFO] |  |  +- io.netty:netty-transport:jar:4.1.50.Final:compile
[INFO] |  |  \- io.netty:netty-codec:jar:4.1.50.Final:compile
[INFO] |  +- io.netty:netty-transport-native-epoll:jar:4.1.50.Final:compile
[INFO] |  |  \- io.netty:netty-transport-native-unix-common:jar:4.1.50.Final:compile
[INFO] |  +- org.slf4j:slf4j-log4j12:jar:1.7.25:compile
[INFO] |  \- log4j:log4j:jar:1.2.17:compile
[INFO] \- junit:junit:jar:4.11:test
[INFO]    \- org.hamcrest:hamcrest-core:jar:1.3:test

我的依赖,

运行结果

/Library/Java/JavaVirtualMachines/graalvm-jdk-21/Contents/Home/bin/java -javaagent:/Users/bystander/Applications/IntelliJ IDEA Ultimate.app/Contents/lib/idea_rt.jar=55105:/Users/bystander/Applications/IntelliJ IDEA Ultimate.app/Contents/bin -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath /Users/bystander/Documents/code/javacode/hunter/target/classes:/Users/bystander/.m2/repository/org/apache/rocketmq/rocketmq-client/4.9.7/rocketmq-client-4.9.7.jar:/Users/bystander/.m2/repository/org/apache/rocketmq/rocketmq-common/4.9.7/rocketmq-common-4.9.7.jar:/Users/bystander/.m2/repository/org/apache/rocketmq/rocketmq-remoting/4.9.7/rocketmq-remoting-4.9.7.jar:/Users/bystander/.m2/repository/io/netty/netty-all/4.1.65.Final/netty-all-4.1.65.Final.jar:/Users/bystander/.m2/repository/com/yammer/metrics/metrics-core/2.2.0/metrics-core-2.2.0.jar:/Users/bystander/.m2/repository/commons-validator/commons-validator/1.7/commons-validator-1.7.jar:/Users/bystander/.m2/repository/commons-beanutils/commons-beanutils/1.9.4/commons-beanutils-1.9.4.jar:/Users/bystander/.m2/repository/commons-digester/commons-digester/2.1/commons-digester-2.1.jar:/Users/bystander/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar:/Users/bystander/.m2/repository/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar:/Users/bystander/.m2/repository/com/github/luben/zstd-jni/1.5.2-2/zstd-jni-1.5.2-2.jar:/Users/bystander/.m2/repository/org/lz4/lz4-java/1.8.0/lz4-java-1.8.0.jar:/Users/bystander/.m2/repository/io/prometheus/simpleclient/0.16.0/simpleclient-0.16.0.jar:/Users/bystander/.m2/repository/io/prometheus/simpleclient_tracer_otel/0.16.0/simpleclient_tracer_otel-0.16.0.jar:/Users/bystander/.m2/repository/io/prometheus/simpleclient_tracer_common/0.16.0/simpleclient_tracer_common-0.16.0.jar:/Users/bystander/.m2/repository/io/prometheus/simpleclient_tracer_otel_agent/0.16.0/simpleclient_tracer_otel_agent-0.16.0.jar:/Users/bystander/.m2/repository/io/prometheus/simpleclient_hotspot/0.16.0/simpleclient_hotspot-0.16.0.jar:/Users/bystander/.m2/repository/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar:/Users/bystander/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar:/Users/bystander/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:/Users/bystander/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar:/Users/bystander/.m2/repository/org/checkerframework/checker-qual/3.12.0/checker-qual-3.12.0.jar:/Users/bystander/.m2/repository/com/google/errorprone/error_prone_annotations/2.7.1/error_prone_annotations-2.7.1.jar:/Users/bystander/.m2/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar:/Users/bystander/.m2/repository/com/github/oshi/oshi-core/6.4.0/oshi-core-6.4.0.jar:/Users/bystander/.m2/repository/net/java/dev/jna/jna/5.12.1/jna-5.12.1.jar:/Users/bystander/.m2/repository/net/java/dev/jna/jna-platform/5.12.1/jna-platform-5.12.1.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-ratelimit-factory/3.2.7/polaris-ratelimit-factory-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-ratelimit-client/3.2.7/polaris-ratelimit-client-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-ratelimit-api/3.2.7/polaris-ratelimit-api-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/connector-polaris-grpc/3.2.7/connector-polaris-grpc-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-model/3.2.7/polaris-model-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-plugin-api/3.2.7/polaris-plugin-api-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-config/3.2.7/polaris-config-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/resource-cache-memory/3.2.7/resource-cache-memory-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/flow-cache-expired/3.2.7/flow-cache-expired-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/router-isolated/3.2.7/router-isolated-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/router-common/3.2.7/router-common-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/router-healthy/3.2.7/router-healthy-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/router-nearby/3.2.7/router-nearby-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/router-rule/3.2.7/router-rule-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/router-metadata/3.2.7/router-metadata-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/loadbalancer-random/3.2.7/loadbalancer-random-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/loadbalancer-ringhash/3.2.7/loadbalancer-ringhash-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/ratelimiter-reject/3.2.7/ratelimiter-reject-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/ratelimiter-common/3.2.7/ratelimiter-common-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-circuitbreaker-factory/3.2.7/polaris-circuitbreaker-factory-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-circuitbreaker-client/3.2.7/polaris-circuitbreaker-client-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-circuitbreaker-api/3.2.7/polaris-circuitbreaker-api-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-client/3.2.7/polaris-client-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-protobuf/3.2.7/polaris-protobuf-3.2.7.jar:/Users/bystander/.m2/repository/io/grpc/grpc-all/1.54.0/grpc-all-1.54.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-api/1.54.0/grpc-api-1.54.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-auth/1.54.0/grpc-auth-1.54.0.jar:/Users/bystander/.m2/repository/com/google/auth/google-auth-library-credentials/1.4.0/google-auth-library-credentials-1.4.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-context/1.54.0/grpc-context-1.54.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-core/1.54.0/grpc-core-1.54.0.jar:/Users/bystander/.m2/repository/com/google/code/gson/gson/2.9.0/gson-2.9.0.jar:/Users/bystander/.m2/repository/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar:/Users/bystander/.m2/repository/org/codehaus/mojo/animal-sniffer-annotations/1.21/animal-sniffer-annotations-1.21.jar:/Users/bystander/.m2/repository/io/perfmark/perfmark-api/0.25.0/perfmark-api-0.25.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-grpclb/1.54.0/grpc-grpclb-1.54.0.jar:/Users/bystander/.m2/repository/com/google/protobuf/protobuf-java/3.21.7/protobuf-java-3.21.7.jar:/Users/bystander/.m2/repository/io/grpc/grpc-netty/1.54.0/grpc-netty-1.54.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-okhttp/1.54.0/grpc-okhttp-1.54.0.jar:/Users/bystander/.m2/repository/com/squareup/okio/okio/1.17.5/okio-1.17.5.jar:/Users/bystander/.m2/repository/io/grpc/grpc-protobuf/1.54.0/grpc-protobuf-1.54.0.jar:/Users/bystander/.m2/repository/com/google/api/grpc/proto-google-common-protos/2.9.0/proto-google-common-protos-2.9.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-protobuf-lite/1.54.0/grpc-protobuf-lite-1.54.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-rls/1.54.0/grpc-rls-1.54.0.jar:/Users/bystander/.m2/repository/com/google/auto/value/auto-value-annotations/1.9/auto-value-annotations-1.9.jar:/Users/bystander/.m2/repository/io/grpc/grpc-services/1.54.0/grpc-services-1.54.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-servlet/1.54.0/grpc-servlet-1.54.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-servlet-jakarta/1.54.0/grpc-servlet-jakarta-1.54.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-stub/1.54.0/grpc-stub-1.54.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-testing/1.54.0/grpc-testing-1.54.0.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-config-tencent/3.2.7/polaris-config-tencent-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-config-opensource/3.2.7/polaris-config-opensource-3.2.7.jar:/Users/bystander/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.15.0/jackson-dataformat-yaml-2.15.0.jar:/Users/bystander/.m2/repository/com/google/protobuf/protobuf-java-util/3.21.7/protobuf-java-util-3.21.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/circuitbreaker-errrate/3.2.7/circuitbreaker-errrate-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/circuitbreaker-common/3.2.7/circuitbreaker-common-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/circuitbreaker-errcount/3.2.7/circuitbreaker-errcount-3.2.7.jar:/Users/bystander/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.15.0/jackson-databind-2.15.0.jar:/Users/bystander/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.15.0/jackson-annotations-2.15.0.jar:/Users/bystander/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.15.0/jackson-core-2.15.0.jar:/Users/bystander/.m2/repository/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar:/Users/bystander/.m2/repository/org/apache/rocketmq/rocketmq-tools/4.9.7/rocketmq-tools-4.9.7.jar:/Users/bystander/.m2/repository/org/apache/rocketmq/rocketmq-acl/4.9.7/rocketmq-acl-4.9.7.jar:/Users/bystander/.m2/repository/org/apache/rocketmq/rocketmq-logging/4.9.7/rocketmq-logging-4.9.7.jar:/Users/bystander/.m2/repository/commons-codec/commons-codec/1.9/commons-codec-1.9.jar:/Users/bystander/.m2/repository/org/apache/rocketmq/rocketmq-srvutil/4.9.7/rocketmq-srvutil-4.9.7.jar:/Users/bystander/.m2/repository/commons-cli/commons-cli/1.2/commons-cli-1.2.jar:/Users/bystander/.m2/repository/com/alibaba/fastjson/1.2.83/fastjson-1.2.83.jar:/Users/bystander/.m2/repository/ch/qos/logback/logback-classic/1.2.10/logback-classic-1.2.10.jar:/Users/bystander/.m2/repository/ch/qos/logback/logback-core/1.2.10/logback-core-1.2.10.jar:/Users/bystander/.m2/repository/org/yaml/snakeyaml/2.0/snakeyaml-2.0.jar:/Users/bystander/.m2/repository/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar:/Users/bystander/.m2/repository/com/101tec/zkclient/0.11/zkclient-0.11.jar:/Users/bystander/.m2/repository/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar:/Users/bystander/.m2/repository/org/apache/zookeeper/zookeeper/3.5.9/zookeeper-3.5.9.jar:/Users/bystander/.m2/repository/org/apache/zookeeper/zookeeper-jute/3.5.9/zookeeper-jute-3.5.9.jar:/Users/bystander/.m2/repository/org/apache/yetus/audience-annotations/0.5.0/audience-annotations-0.5.0.jar:/Users/bystander/.m2/repository/io/netty/netty-handler/4.1.50.Final/netty-handler-4.1.50.Final.jar:/Users/bystander/.m2/repository/io/netty/netty-common/4.1.50.Final/netty-common-4.1.50.Final.jar:/Users/bystander/.m2/repository/io/netty/netty-resolver/4.1.50.Final/netty-resolver-4.1.50.Final.jar:/Users/bystander/.m2/repository/io/netty/netty-buffer/4.1.50.Final/netty-buffer-4.1.50.Final.jar:/Users/bystander/.m2/repository/io/netty/netty-transport/4.1.50.Final/netty-transport-4.1.50.Final.jar:/Users/bystander/.m2/repository/io/netty/netty-codec/4.1.50.Final/netty-codec-4.1.50.Final.jar:/Users/bystander/.m2/repository/io/netty/netty-transport-native-epoll/4.1.50.Final/netty-transport-native-epoll-4.1.50.Final.jar:/Users/bystander/.m2/repository/io/netty/netty-transport-native-unix-common/4.1.50.Final/netty-transport-native-unix-common-4.1.50.Final.jar:/Users/bystander/.m2/repository/org/slf4j/slf4j-log4j12/1.7.25/slf4j-log4j12-1.7.25.jar:/Users/bystander/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar org.example.Starter
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/bystander/.m2/repository/ch/qos/logback/logback-classic/1.2.10/logback-classic-1.2.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/bystander/.m2/repository/org/slf4j/slf4j-log4j12/1.7.25/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: The requested version 1.7.16 by your slf4j binding is not compatible with [1.6]
SLF4J: See http://www.slf4j.org/codes.html#version_mismatch for further details.
15:14:43.381 [main] DEBUG org.I0Itec.zkclient.ZkConnection - Creating new ZookKeeper instance to connect to 127.0.0.1:2181.
15:14:43.381 [ZkClient-EventThread-21-127.0.0.1:2181] INFO org.I0Itec.zkclient.ZkEventThread - Starting ZkClient event thread.
15:14:43.393 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:zookeeper.version=3.5.9-83df9301aa5c2a5d284a9940177808c01bc35cef, built on 01/06/2021 20:03 GMT
15:14:43.393 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:host.name=localhost
15:14:43.393 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.version=21.0.4
15:14:43.393 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.vendor=Oracle Corporation
15:14:43.393 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.home=/Library/Java/JavaVirtualMachines/graalvm-jdk-21/Contents/Home
15:14:43.394 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.class.path=/Users/bystander/Documents/code/javacode/hunter/target/classes:/Users/bystander/.m2/repository/org/apache/rocketmq/rocketmq-client/4.9.7/rocketmq-client-4.9.7.jar:/Users/bystander/.m2/repository/org/apache/rocketmq/rocketmq-common/4.9.7/rocketmq-common-4.9.7.jar:/Users/bystander/.m2/repository/org/apache/rocketmq/rocketmq-remoting/4.9.7/rocketmq-remoting-4.9.7.jar:/Users/bystander/.m2/repository/io/netty/netty-all/4.1.65.Final/netty-all-4.1.65.Final.jar:/Users/bystander/.m2/repository/com/yammer/metrics/metrics-core/2.2.0/metrics-core-2.2.0.jar:/Users/bystander/.m2/repository/commons-validator/commons-validator/1.7/commons-validator-1.7.jar:/Users/bystander/.m2/repository/commons-beanutils/commons-beanutils/1.9.4/commons-beanutils-1.9.4.jar:/Users/bystander/.m2/repository/commons-digester/commons-digester/2.1/commons-digester-2.1.jar:/Users/bystander/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar:/Users/bystander/.m2/repository/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar:/Users/bystander/.m2/repository/com/github/luben/zstd-jni/1.5.2-2/zstd-jni-1.5.2-2.jar:/Users/bystander/.m2/repository/org/lz4/lz4-java/1.8.0/lz4-java-1.8.0.jar:/Users/bystander/.m2/repository/io/prometheus/simpleclient/0.16.0/simpleclient-0.16.0.jar:/Users/bystander/.m2/repository/io/prometheus/simpleclient_tracer_otel/0.16.0/simpleclient_tracer_otel-0.16.0.jar:/Users/bystander/.m2/repository/io/prometheus/simpleclient_tracer_common/0.16.0/simpleclient_tracer_common-0.16.0.jar:/Users/bystander/.m2/repository/io/prometheus/simpleclient_tracer_otel_agent/0.16.0/simpleclient_tracer_otel_agent-0.16.0.jar:/Users/bystander/.m2/repository/io/prometheus/simpleclient_hotspot/0.16.0/simpleclient_hotspot-0.16.0.jar:/Users/bystander/.m2/repository/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar:/Users/bystander/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar:/Users/bystander/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:/Users/bystander/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar:/Users/bystander/.m2/repository/org/checkerframework/checker-qual/3.12.0/checker-qual-3.12.0.jar:/Users/bystander/.m2/repository/com/google/errorprone/error_prone_annotations/2.7.1/error_prone_annotations-2.7.1.jar:/Users/bystander/.m2/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar:/Users/bystander/.m2/repository/com/github/oshi/oshi-core/6.4.0/oshi-core-6.4.0.jar:/Users/bystander/.m2/repository/net/java/dev/jna/jna/5.12.1/jna-5.12.1.jar:/Users/bystander/.m2/repository/net/java/dev/jna/jna-platform/5.12.1/jna-platform-5.12.1.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-ratelimit-factory/3.2.7/polaris-ratelimit-factory-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-ratelimit-client/3.2.7/polaris-ratelimit-client-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-ratelimit-api/3.2.7/polaris-ratelimit-api-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/connector-polaris-grpc/3.2.7/connector-polaris-grpc-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-model/3.2.7/polaris-model-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-plugin-api/3.2.7/polaris-plugin-api-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-config/3.2.7/polaris-config-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/resource-cache-memory/3.2.7/resource-cache-memory-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/flow-cache-expired/3.2.7/flow-cache-expired-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/router-isolated/3.2.7/router-isolated-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/router-common/3.2.7/router-common-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/router-healthy/3.2.7/router-healthy-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/router-nearby/3.2.7/router-nearby-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/router-rule/3.2.7/router-rule-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/router-metadata/3.2.7/router-metadata-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/loadbalancer-random/3.2.7/loadbalancer-random-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/loadbalancer-ringhash/3.2.7/loadbalancer-ringhash-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/ratelimiter-reject/3.2.7/ratelimiter-reject-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/ratelimiter-common/3.2.7/ratelimiter-common-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-circuitbreaker-factory/3.2.7/polaris-circuitbreaker-factory-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-circuitbreaker-client/3.2.7/polaris-circuitbreaker-client-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-circuitbreaker-api/3.2.7/polaris-circuitbreaker-api-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-client/3.2.7/polaris-client-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-protobuf/3.2.7/polaris-protobuf-3.2.7.jar:/Users/bystander/.m2/repository/io/grpc/grpc-all/1.54.0/grpc-all-1.54.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-api/1.54.0/grpc-api-1.54.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-auth/1.54.0/grpc-auth-1.54.0.jar:/Users/bystander/.m2/repository/com/google/auth/google-auth-library-credentials/1.4.0/google-auth-library-credentials-1.4.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-context/1.54.0/grpc-context-1.54.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-core/1.54.0/grpc-core-1.54.0.jar:/Users/bystander/.m2/repository/com/google/code/gson/gson/2.9.0/gson-2.9.0.jar:/Users/bystander/.m2/repository/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar:/Users/bystander/.m2/repository/org/codehaus/mojo/animal-sniffer-annotations/1.21/animal-sniffer-annotations-1.21.jar:/Users/bystander/.m2/repository/io/perfmark/perfmark-api/0.25.0/perfmark-api-0.25.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-grpclb/1.54.0/grpc-grpclb-1.54.0.jar:/Users/bystander/.m2/repository/com/google/protobuf/protobuf-java/3.21.7/protobuf-java-3.21.7.jar:/Users/bystander/.m2/repository/io/grpc/grpc-netty/1.54.0/grpc-netty-1.54.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-okhttp/1.54.0/grpc-okhttp-1.54.0.jar:/Users/bystander/.m2/repository/com/squareup/okio/okio/1.17.5/okio-1.17.5.jar:/Users/bystander/.m2/repository/io/grpc/grpc-protobuf/1.54.0/grpc-protobuf-1.54.0.jar:/Users/bystander/.m2/repository/com/google/api/grpc/proto-google-common-protos/2.9.0/proto-google-common-protos-2.9.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-protobuf-lite/1.54.0/grpc-protobuf-lite-1.54.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-rls/1.54.0/grpc-rls-1.54.0.jar:/Users/bystander/.m2/repository/com/google/auto/value/auto-value-annotations/1.9/auto-value-annotations-1.9.jar:/Users/bystander/.m2/repository/io/grpc/grpc-services/1.54.0/grpc-services-1.54.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-servlet/1.54.0/grpc-servlet-1.54.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-servlet-jakarta/1.54.0/grpc-servlet-jakarta-1.54.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-stub/1.54.0/grpc-stub-1.54.0.jar:/Users/bystander/.m2/repository/io/grpc/grpc-testing/1.54.0/grpc-testing-1.54.0.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-config-tencent/3.2.7/polaris-config-tencent-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/polaris-config-opensource/3.2.7/polaris-config-opensource-3.2.7.jar:/Users/bystander/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.15.0/jackson-dataformat-yaml-2.15.0.jar:/Users/bystander/.m2/repository/com/google/protobuf/protobuf-java-util/3.21.7/protobuf-java-util-3.21.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/circuitbreaker-errrate/3.2.7/circuitbreaker-errrate-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/circuitbreaker-common/3.2.7/circuitbreaker-common-3.2.7.jar:/Users/bystander/.m2/repository/com/tencent/nameservice/circuitbreaker-errcount/3.2.7/circuitbreaker-errcount-3.2.7.jar:/Users/bystander/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.15.0/jackson-databind-2.15.0.jar:/Users/bystander/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.15.0/jackson-annotations-2.15.0.jar:/Users/bystander/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.15.0/jackson-core-2.15.0.jar:/Users/bystander/.m2/repository/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar:/Users/bystander/.m2/repository/org/apache/rocketmq/rocketmq-tools/4.9.7/rocketmq-tools-4.9.7.jar:/Users/bystander/.m2/repository/org/apache/rocketmq/rocketmq-acl/4.9.7/rocketmq-acl-4.9.7.jar:/Users/bystander/.m2/repository/org/apache/rocketmq/rocketmq-logging/4.9.7/rocketmq-logging-4.9.7.jar:/Users/bystander/.m2/repository/commons-codec/commons-codec/1.9/commons-codec-1.9.jar:/Users/bystander/.m2/repository/org/apache/rocketmq/rocketmq-srvutil/4.9.7/rocketmq-srvutil-4.9.7.jar:/Users/bystander/.m2/repository/commons-cli/commons-cli/1.2/commons-cli-1.2.jar:/Users/bystander/.m2/repository/com/alibaba/fastjson/1.2.83/fastjson-1.2.83.jar:/Users/bystander/.m2/repository/ch/qos/logback/logback-classic/1.2.10/logback-classic-1.2.10.jar:/Users/bystander/.m2/repository/ch/qos/logback/logback-core/1.2.10/logback-core-1.2.10.jar:/Users/bystander/.m2/repository/org/yaml/snakeyaml/2.0/snakeyaml-2.0.jar:/Users/bystander/.m2/repository/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar:/Users/bystander/.m2/repository/com/101tec/zkclient/0.11/zkclient-0.11.jar:/Users/bystander/.m2/repository/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar:/Users/bystander/.m2/repository/org/apache/zookeeper/zookeeper/3.5.9/zookeeper-3.5.9.jar:/Users/bystander/.m2/repository/org/apache/zookeeper/zookeeper-jute/3.5.9/zookeeper-jute-3.5.9.jar:/Users/bystander/.m2/repository/org/apache/yetus/audience-annotations/0.5.0/audience-annotations-0.5.0.jar:/Users/bystander/.m2/repository/io/netty/netty-handler/4.1.50.Final/netty-handler-4.1.50.Final.jar:/Users/bystander/.m2/repository/io/netty/netty-common/4.1.50.Final/netty-common-4.1.50.Final.jar:/Users/bystander/.m2/repository/io/netty/netty-resolver/4.1.50.Final/netty-resolver-4.1.50.Final.jar:/Users/bystander/.m2/repository/io/netty/netty-buffer/4.1.50.Final/netty-buffer-4.1.50.Final.jar:/Users/bystander/.m2/repository/io/netty/netty-transport/4.1.50.Final/netty-transport-4.1.50.Final.jar:/Users/bystander/.m2/repository/io/netty/netty-codec/4.1.50.Final/netty-codec-4.1.50.Final.jar:/Users/bystander/.m2/repository/io/netty/netty-transport-native-epoll/4.1.50.Final/netty-transport-native-epoll-4.1.50.Final.jar:/Users/bystander/.m2/repository/io/netty/netty-transport-native-unix-common/4.1.50.Final/netty-transport-native-unix-common-4.1.50.Final.jar:/Users/bystander/.m2/repository/org/slf4j/slf4j-log4j12/1.7.25/slf4j-log4j12-1.7.25.jar:/Users/bystander/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar
15:14:43.394 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.library.path=/Users/bystander/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
15:14:43.394 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.io.tmpdir=/var/folders/hc/l06tcg_j6gb0f54l4pbbbjl80000gn/T/
15:14:43.394 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.compiler=<NA>
15:14:43.394 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:os.name=Mac OS X
15:14:43.394 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:os.arch=aarch64
15:14:43.394 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:os.version=14.6.1
15:14:43.394 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:user.name=bystander
15:14:43.394 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:user.home=/Users/bystander
15:14:43.394 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:user.dir=/Users/bystander/Documents/code/javacode/hunter
15:14:43.394 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:os.memory.free=502MB
15:14:43.394 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:os.memory.max=8192MB
15:14:43.394 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:os.memory.total=516MB
15:14:43.395 [main] INFO org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=127.0.0.1:2181 sessionTimeout=30000 watcher=org.I0Itec.zkclient.ZkClient@71c7db30
15:14:43.398 [main] INFO org.apache.zookeeper.common.X509Util - Setting -D jdk.tls.rejectClientInitiatedRenegotiation=true to disable client-initiated TLS renegotiation
15:14:43.404 [main] INFO org.apache.zookeeper.ClientCnxnSocket - jute.maxbuffer value is 4194304 Bytes
15:14:43.407 [main] INFO org.apache.zookeeper.ClientCnxn - zookeeper.request.timeout value is 0. feature enabled=
15:14:43.407 [main] DEBUG org.I0Itec.zkclient.ZkClient - Awaiting connection to Zookeeper server
15:14:43.407 [main] INFO org.I0Itec.zkclient.ZkClient - Waiting for keeper state SyncConnected
15:14:43.410 [main-SendThread(127.0.0.1:2181)] DEBUG org.apache.zookeeper.SaslServerPrincipal - Canonicalized address to localhost
15:14:43.410 [main-SendThread(127.0.0.1:2181)] INFO org.apache.zookeeper.ClientCnxn - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
15:14:43.412 [main-SendThread(127.0.0.1:2181)] INFO org.apache.zookeeper.ClientCnxn - Socket connection established, initiating session, client: /127.0.0.1:55164, server: localhost/127.0.0.1:2181
15:14:43.413 [main-SendThread(127.0.0.1:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Session establishment request sent on localhost/127.0.0.1:2181
15:14:43.420 [main-SendThread(127.0.0.1:2181)] INFO org.apache.zookeeper.ClientCnxn - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x10002169e88000a, negotiated timeout = 30000
15:14:43.421 [main-EventThread] DEBUG org.I0Itec.zkclient.ZkClient - Received event: WatchedEvent state:SyncConnected type:None path:null
15:14:43.421 [main-EventThread] INFO org.I0Itec.zkclient.ZkClient - zookeeper state changed (SyncConnected)
15:14:43.421 [main-EventThread] DEBUG org.I0Itec.zkclient.ZkClient - Leaving process event
15:14:43.421 [main] DEBUG org.I0Itec.zkclient.ZkClient - State is SyncConnected
15:14:43.426 [main-SendThread(127.0.0.1:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x10002169e88000a, packet:: clientPath:null serverPath:null finished:false header:: 1,8  replyHeader:: 1,30,0  request:: '/,F  response:: v{'registry,'zookeeper} 
registry
zookeeper

Process finished with exit code 0
Xieyinfeng101 commented 3 weeks ago

是的,仍然连接不上,我的系统是windows11,jdk是21,zookeeper是3.9.2

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0
<groupId>org.example</groupId>
<artifactId>untitled</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
    <maven.compiler.source>21</maven.compiler.source>
    <maven.compiler.target>21</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
    <dependency>
        <groupId>com.101tec</groupId>
        <artifactId>zkclient</artifactId>
        <version>0.11</version>
        <exclusions>
            <exclusion>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>3.5.9</version>
    </dependency>

</dependencies>

package org.xyf.test;

import org.I0Itec.zkclient.ZkClient; import org.apache.zookeeper.KeeperException; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.ZooKeeper;

import java.io.IOException; import java.util.Arrays; import java.util.List;

public class App { public static void main(String[] args) throws IOException, InterruptedException, KeeperException { // Watcher watcher = new Watcher() { // @Override // public void process(WatchedEvent watchedEvent) { // System.out.println("有事件发生"); // } // }; // ZooKeeper zooKeeper = new ZooKeeper("localhost:2181",2000,watcher); // List children = zooKeeper.getChildren("/", true); // System.out.println(Arrays.toString(children.toArray()));

    ZkClient zkClient = new ZkClient("127.0.0.1:2181",2000);

}

}

D:\openjdk_and_graalvm\graalvm-jdk-21.0.2+13.1\bin\java.exe "-javaagent:D:\JAVA_TOOLS\IntelliJ IDEA 2023.2\lib\idea_rt.jar=59563:D:\JAVA_TOOLS\IntelliJ IDEA 2023.2\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\MY_OPEN_SOURCE\untitled\target\classes;D:\JAVA_TOOLS\mvn_repository\com\101tec\zkclient\0.11\zkclient-0.11.jar;D:\JAVA_TOOLS\mvn_repository\org\slf4j\slf4j-api\1.6.1\slf4j-api-1.6.1.jar;D:\JAVA_TOOLS\mvn_repository\org\apache\zookeeper\zookeeper\3.5.9\zookeeper-3.5.9.jar;D:\JAVA_TOOLS\mvn_repository\org\apache\zookeeper\zookeeper-jute\3.5.9\zookeeper-jute-3.5.9.jar;D:\JAVA_TOOLS\mvn_repository\org\apache\yetus\audience-annotations\0.5.0\audience-annotations-0.5.0.jar;D:\JAVA_TOOLS\mvn_repository\io\netty\netty-handler\4.1.50.Final\netty-handler-4.1.50.Final.jar;D:\JAVA_TOOLS\mvn_repository\io\netty\netty-common\4.1.50.Final\netty-common-4.1.50.Final.jar;D:\JAVA_TOOLS\mvn_repository\io\netty\netty-resolver\4.1.50.Final\netty-resolver-4.1.50.Final.jar;D:\JAVA_TOOLS\mvn_repository\io\netty\netty-buffer\4.1.50.Final\netty-buffer-4.1.50.Final.jar;D:\JAVA_TOOLS\mvn_repository\io\netty\netty-transport\4.1.50.Final\netty-transport-4.1.50.Final.jar;D:\JAVA_TOOLS\mvn_repository\io\netty\netty-codec\4.1.50.Final\netty-codec-4.1.50.Final.jar;D:\JAVA_TOOLS\mvn_repository\io\netty\netty-transport-native-epoll\4.1.50.Final\netty-transport-native-epoll-4.1.50.Final.jar;D:\JAVA_TOOLS\mvn_repository\io\netty\netty-transport-native-unix-common\4.1.50.Final\netty-transport-native-unix-common-4.1.50.Final.jar;D:\JAVA_TOOLS\mvn_repository\org\slf4j\slf4j-log4j12\1.7.25\slf4j-log4j12-1.7.25.jar;D:\JAVA_TOOLS\mvn_repository\log4j\log4j\1.2.17\log4j-1.2.17.jar org.xyf.test.App log4j:WARN No appenders could be found for logger (org.I0Itec.zkclient.ZkEventThread). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. log4j:WARN No appenders could be found for logger (org.I0Itec.zkclient.ZkConnection). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. Exception in thread "main" org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server '127.0.0.1:2181' with timeout of 2000 ms       at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:1233)       at org.I0Itec.zkclient.ZkClient.(ZkClient.java:157)       at org.I0Itec.zkclient.ZkClient.(ZkClient.java:131)       at org.I0Itec.zkclient.ZkClient.(ZkClient.java:127)       at org.I0Itec.zkclient.ZkClient.(ZkClient.java:90)       at org.xyf.test.App.main(App.java:26)

Process finished with exit code 1

以上是所有详细信息


发件人: Lei Zhiyuan @.> 发送时间: 2024年8月22日 15:11 收件人: apache/incubator-seata @.> 抄送: Xieyinfeng101 @.>; Mention @.> 主题: Re: [apache/incubator-seata] 当使用jdk21的时候,seata无法连接到zookeeper (Issue #6772)

[INFO] org.example:untitled:jar:1.0-SNAPSHOT [INFO] +- com.101tec:zkclient:jar:0.11:compile [INFO] | - org.slf4j:slf4j-api:jar:1.6.1:compile [INFO] - org.apache.zookeeper:zookeeper:jar:3.5.9:compile [INFO] +- org.apache.zookeeper:zookeeper-jute:jar:3.5.9:compile [INFO] +- org.apache.yetus:audience-annotations:jar:0.5.0:compile [INFO] +- io.netty:netty-handler:jar:4.1.50.Final:compile [INFO] | +- io.netty:netty-common:jar:4.1.50.Final:compile [INFO] | +- io.netty:netty-resolver:jar:4.1.50.Final:compile [INFO] | +- io.netty:netty-buffer:jar:4.1.50.Final:compile [INFO] | +- io.netty:netty-transport:jar:4.1.50.Final:compile [INFO] | - io.netty:netty-codec:jar:4.1.50.Final:compile [INFO] +- io.netty:netty-transport-native-epoll:jar:4.1.50.Final:compile [INFO] | - io.netty:netty-transport-native-unix-common:jar:4.1.50.Final:compile [INFO] +- org.slf4j:slf4j-log4j12:jar:1.7.25:compile [INFO] - log4j:log4j:jar:1.2.17:compile [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 21.250 s [INFO] Finished at: 2024-08-22T11:31:41+08:00 [INFO] ------------------------------------------------------------------------ [WARNING] … ____ 发件人: Lei Zhiyuan @.> 发送时间: 2024年8月22日 11:28 收件人: apache/incubator-seata @.> 抄送: Xieyinfeng101 @.>; Mention @.> 主题: Re: [apache/incubator-seata] 当使用jdk21的时候,seata无法连接到zookeeper (Issue #6772https://github.com/apache/incubator-seata/issues/6772) 说明你依赖没有解决正确。你直接在你项目下执行mvn dependecny:tree > x.log 然后吧结果发一下 ― Reply to this email directly, view it on GitHub<#6772 (comment)https://github.com/apache/incubator-seata/issues/6772#issuecomment-2303603492>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BH6XZIC2HT7KYURS5JGODTLZSVLHRAVCNFSM6AAAAABMZSNAZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBTGYYDGNBZGI. You are receiving this because you were mentioned.Message ID: @.***>

你现在这个依赖的情况下,这个demo还是连接不上zk? 我这边跟你一样,是没问题的

— Reply to this email directly, view it on GitHubhttps://github.com/apache/incubator-seata/issues/6772#issuecomment-2303944491, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BH6XZIFWVVZD6WZQTLNGEU3ZSWFKDAVCNFSM6AAAAABMZSNAZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBTHE2DINBZGE. You are receiving this because you were mentioned.Message ID: @.***>

leizhiyuan commented 3 weeks ago

我这边是mac,看这个样子可能跟操作系统有关。

其他条件完全相同。后续seata使用curator 来替换看看。

Xieyinfeng101 commented 3 weeks ago

好的


发件人: Lei Zhiyuan @.> 发送时间: 2024年8月22日 16:09 收件人: apache/incubator-seata @.> 抄送: Xieyinfeng101 @.>; Mention @.> 主题: Re: [apache/incubator-seata] 当使用jdk21的时候,seata无法连接到zookeeper (Issue #6772)

我这边是mac,看这个样子可能跟操作系统有关。

其他条件完全相同。后续seata使用curator 来替换看看。

― Reply to this email directly, view it on GitHubhttps://github.com/apache/incubator-seata/issues/6772#issuecomment-2304044439, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BH6XZIEK3INRVJB2LNJ7X7DZSWMCNAVCNFSM6AAAAABMZSNAZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBUGA2DINBTHE. You are receiving this because you were mentioned.Message ID: @.***>

funky-eyes commented 3 weeks ago

我这边是mac,看这个样子可能跟操作系统有关。

其他条件完全相同。后续seata使用curator 来替换看看。

我支持这个主意,我认为我们可以直接替换为curator,zkclient太过老旧,但是我记得curator5.x开始,3.4的zk与之是不兼容的,这块是否需要考虑兼容低版本zk?dubbo侧是直接升级成curator5.x了,看样子是没有打算继续兼容低版本zk。 I support this idea. I think we should directly switch to Curator, as ZkClient is quite outdated. However, I remember that starting from Curator 5.x, it is not compatible with ZooKeeper 3.4. We need to consider whether to maintain compatibility with older versions of ZooKeeper. On the Dubbo side, it has been upgraded to Curator 5.x, and it seems there is no intention to continue supporting older versions of ZooKeeper.

leizhiyuan commented 3 weeks ago

我这边是mac,看这个样子可能跟操作系统有关。 其他条件完全相同。后续seata使用curator 来替换看看。

我支持这个主意,我认为我们可以直接替换为curator,zkclient太过老旧,但是我记得curator5.x开始,3.4的zk与之是不兼容的,这块是否需要考虑兼容低版本zk?dubbo侧是直接升级成curator5.x了,看样子是没有打算继续兼容低版本zk。 I support this idea. I think we should directly switch to Curator, as ZkClient is quite outdated. However, I remember that starting from Curator 5.x, it is not compatible with ZooKeeper 3.4. We need to consider whether to maintain compatibility with older versions of ZooKeeper. On the Dubbo side, it has been upgraded to Curator 5.x, and it seems there is no intention to continue supporting older versions of ZooKeeper.

嗯,如果想兼容,那么就将内部这个先替换为curator4,这样在某个版本发布的时候,作为一个变更点,用户引入curator依赖即可,代码层面也不需要同时保留zkclient和curator4,这个带来的复杂度不太值得,如果不想兼容,我们就一次到位,升级到curator5,在这个版本中,需要用户升级zk。

funky-eyes commented 2 weeks ago

我这边是mac,看这个样子可能跟操作系统有关。 其他条件完全相同。后续seata使用curator 来替换看看。

我支持这个主意,我认为我们可以直接替换为curator,zkclient太过老旧,但是我记得curator5.x开始,3.4的zk与之是不兼容的,这块是否需要考虑兼容低版本zk?dubbo侧是直接升级成curator5.x了,看样子是没有打算继续兼容低版本zk。 I support this idea. I think we should directly switch to Curator, as ZkClient is quite outdated. However, I remember that starting from Curator 5.x, it is not compatible with ZooKeeper 3.4. We need to consider whether to maintain compatibility with older versions of ZooKeeper. On the Dubbo side, it has been upgraded to Curator 5.x, and it seems there is no intention to continue supporting older versions of ZooKeeper.

嗯,如果想兼容,那么就将内部这个先替换为curator4,这样在某个版本发布的时候,作为一个变更点,用户引入curator依赖即可,代码层面也不需要同时保留zkclient和curator4,这个带来的复杂度不太值得,如果不想兼容,我们就一次到位,升级到curator5,在这个版本中,需要用户升级zk。

我不太确定curator4与zk3.5以后是否兼容,如果是兼容的我建议先升级到curator4. I'm not sure if Curator 4 is compatible with ZooKeeper 3.5 and later. If it is, I suggest upgrading to Curator 4 first.

leizhiyuan commented 2 weeks ago

curator4 可以向后支持3.4.x的zk https://curator.apache.org/docs/zk-compatibility-34,也支持3.5之后的

如果我们不想再支持3.4.x的zk,理论上我们现在的代码上面已经是3.5.x了。可以直接升级到curator5

funky-eyes commented 2 weeks ago

curator4 可以向后支持3.4.x的zk https://curator.apache.org/docs/zk-compatibility-34,也支持3.5之后的

如果我们不想再支持3.4.x的zk,理论上我们现在的代码上面已经是3.5.x了。可以直接升级到curator5

ok,提交下pr吧? Okay, submit a pr?