apache / dubbo

The java implementation of Apache Dubbo. An RPC and microservice framework.
https://dubbo.apache.org/
Apache License 2.0
40.39k stars 26.41k forks source link

Dubbo 3.0.0中使用xml配置无效,只有在properties中配置才有效 #8213

Closed gaohuanjie closed 3 years ago

gaohuanjie commented 3 years ago

Dubbo 3.0.0中使用xml配置dubbo.application.name和dubbo.registry.address无效,只有在properties中配置才有效!

horizonzy commented 3 years ago

Ok, I will try to reproduce and fix it.

horizonzy commented 3 years ago

Dubbo 3.0.0中使用xml配置dubbo.application.name和dubbo.registry.address无效,只有在properties中配置才有效!

Hi, I have test your description, but in my case, it seems well use xml to config application name and registry address. How did you use it, can you describe it detaily, thanks.

kylixs commented 3 years ago

@gaohuanjie Please submit an example code for reproducing the problem. And the configuration document is helpful : https://github.com/apache/dubbo/issues/7890

gaohuanjie commented 3 years ago

Dubbo 3.0.0中使用xml配置dubbo.application.name和dubbo.registry.address无效,只有在properties中配置才有效!

Hi, I have test your description, but in my case, it seems well use xml to config application name and registry address. How did you use it, can you describe it detaily, thanks.

pom.xml文件: `<?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>provider</artifactId>
<version>1.0-SNAPSHOT</version>

<name>provider</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>

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

<dependencies>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.6.6</version>
    </dependency>

    <!-- 引入dubbo依赖 -->
    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo</artifactId>
        <version>3.0.0</version>
    </dependency>

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

    <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>3.6.3</version>
        <exclusions>
            <exclusion>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

<build>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
        <plugins>
            <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
            <plugin>
                <artifactId>maven-clean-plugin</artifactId>
                <version>3.1.0</version>
            </plugin>
            <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.0.2</version>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
            </plugin>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.1</version>
            </plugin>
            <plugin>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.0.2</version>
            </plugin>
            <plugin>
                <artifactId>maven-install-plugin</artifactId>
                <version>2.5.2</version>
            </plugin>
            <plugin>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.8.2</version>
            </plugin>
            <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
            <plugin>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.7.1</version>
            </plugin>
            <plugin>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>3.0.0</version>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

application.xml: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://dubbo.apache.org/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">

<!--配置应用名-->
<dubbo:application name="service-provider"/>
<!--配置注册中心-->
<dubbo:registry address="zookeeper://127.0.0.1:2181"/>
<!--使用dubbo协议,将服务暴露在20880端口  -->
<dubbo:protocol name="dubbo" port="20880"/>
<bean id="userService" class="com.jd.service.UserService"></bean>
<!-- 指定需要暴露的服务 -->
<dubbo:service interface="com.jd.service.IUserService" ref="userService"/>

ServiceProvider.java: package com.jd.test;

import com.jd.service.IUserService; import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.io.IOException;

public class ServiceProvider {

public static void main(String[] args) {
    ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("application.xml");
    IUserService userService = context.getBean(IUserService.class);
    System.out.println(userService);
    try {
        System.in.read();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

} 启动ZooKeeper服务器—>运行ServiceProvider.java,出现如下异常: [INFO ]-[2021-07-06 14:16:06] -org.apache.dubbo.config.bootstrap.DubboBootstrap.checkDefaultAndValidateConfigs(DubboBootstrap.java:618) - [DUBBO] Ignore invalid config: , dubbo version: 3.0.0, current host: 10.10.13.156 [INFO ]-[2021-07-06 14:16:06] -org.apache.dubbo.config.DubboShutdownHook.run(DubboShutdownHook.java:61) - [DUBBO] Run shutdown hook now., dubbo version: 3.0.0, current host: 10.10.13.156 Exception in thread "main" java.lang.IllegalStateException: Default config not found for ApplicationConfig at org.apache.dubbo.config.bootstrap.DubboBootstrap.checkDefaultAndValidateConfigs(DubboBootstrap.java:633) at org.apache.dubbo.config.bootstrap.DubboBootstrap.checkGlobalConfigs(DubboBootstrap.java:583) at org.apache.dubbo.config.bootstrap.DubboBootstrap.initialize(DubboBootstrap.java:556) at org.apache.dubbo.config.bootstrap.DubboBootstrap.start(DubboBootstrap.java:1085) at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onContextRefreshedEvent(DubboBootstrapApplicationListener.java:70) at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onApplicationContextEvent(DubboBootstrapApplicationListener.java:63) at com.alibaba.spring.context.OnceApplicationContextEventListener.onApplicationEvent(OnceApplicationContextEventListener.java:52) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:404) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:361) at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:898) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:554) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:144) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:85) at com.jd.test.ServiceProvider.main(ServiceProvider.java:11) 2568 [SpringContextShutdownHook] WARN org.springframework.context.support.ClassPathXmlApplicationContext - Exception thrown from ApplicationListener handling ContextClosedEvent java.lang.RuntimeException: java.lang.IllegalStateException: Dubbo config was cleaned prematurely at org.apache.dubbo.common.function.ThrowableAction.execute(ThrowableAction.java:48) at org.apache.dubbo.common.lang.ShutdownHookCallbacks.lambda$callback$0(ShutdownHookCallbacks.java:70) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.apache.dubbo.common.lang.ShutdownHookCallbacks.callback(ShutdownHookCallbacks.java:70) at org.apache.dubbo.config.DubboShutdownHook.callback(DubboShutdownHook.java:77) at org.apache.dubbo.config.DubboShutdownHook.run(DubboShutdownHook.java:64) at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onContextClosedEvent(DubboBootstrapApplicationListener.java:74) at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onApplicationContextEvent(DubboBootstrapApplicationListener.java:65) at com.alibaba.spring.context.OnceApplicationContextEventListener.onApplicationEvent(OnceApplicationContextEventListener.java:52) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:404) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:361) at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1013) at org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext.java:949) Caused by: java.lang.IllegalStateException: Dubbo config was cleaned prematurely at org.apache.dubbo.config.bootstrap.DubboBootstrap.checkConfigState(DubboBootstrap.java:1481) at org.apache.dubbo.config.bootstrap.DubboBootstrap.destroy(DubboBootstrap.java:1448) at org.apache.dubbo.common.function.ThrowableAction.execute(ThrowableAction.java:46) ... 15 more 2571 [SpringContextShutdownHook] INFO org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor - class org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor was destroying! [INFO ]-[2021-07-06 14:16:06] -org.apache.dubbo.registry.support.AbstractRegistryFactory.destroyAll(AbstractRegistryFactory.java:94) - [DUBBO] Close all registries [], dubbo version: 3.0.0, current host: 10.10.13.156 [ERROR]-[2021-07-06 14:16:06] -org.apache.dubbo.config.bootstrap.DubboBootstrap.checkConfigState(DubboBootstrap.java:1480) - [DUBBO] Dubbo config was cleaned prematurely, dubbo version: 3.0.0, current host: 10.10.13.156 `

gaohuanjie commented 3 years ago

Dubbo 3.0.0中使用xml配置dubbo.application.name和dubbo.registry.address无效,只有在properties中配置才有效!

Hi, I have test your description, but in my case, it seems well use xml to config application name and registry address. How did you use it, can you describe it detaily, thanks.

源码及问题:https://github.com/apache/dubbo/issues/8213#issuecomment-874491130

gaohuanjie commented 3 years ago

Dubbo 3.0.0中使用xml配置dubbo.application.name和dubbo.registry.address无效,只有在properties中配置才有效!

Hi, I have test your description, but in my case, it seems well use xml to config application name and registry address. How did you use it, can you describe it detaily, thanks.

源码及问题:#8213 (comment) application.xml中配置了,但是异常提示:[DUBBO] Ignore invalid config: , dubbo version: 3.0.0 如果将application.xml中配置了存入dubbo.properties文件,则不会出现问题

kylixs commented 3 years ago

@gaohuanjie 我在本地验证了提供的样例代码,provider注册及consumer调用都是正常的,没有发现提到的错误。是不是遗漏了什么配置?详细请查看附件的工程代码。 dubbo-issue-8213.zip

gaohuanjie commented 3 years ago

@gaohuanjie 我在本地验证了提供的样例代码,provider注册及consumer调用都是正常的,没有发现提到的错误。是不是遗漏了什么配置?详细请查看附件的工程代码。 dubbo-issue-8213.zip

我们代码一样,唯一不一样的是JDK版本,您给的工程使用JDK8,可是换成JDK14后就会出现上面描述的异常: image 点击上图红框——>点击Open Library Settings——>选择JDK14根目录——>运行程序即可看到异常!

kylixs commented 3 years ago

已查明此问题是由于Java11之后缺少javax.annotation-api导致@PostConstruct注解没有生效,导致dubbo xml配置的bean没有加入到ConfigManager中。 // AbstractConfig.java 中的addIntoConfigManager() 方法没有被执行

    @PostConstruct
    public void addIntoConfigManager() {
        ApplicationModel.getConfigManager().addConfig(this);
    }

解决办法:将下面的配置添加到pom.xml中,如果用Java11之后的版本则自动添加javax.annotation-api。

    <profiles>
        <!-- For jdk 11 above JavaEE annotation -->
        <profile>
            <id>javax.annotation</id>
            <activation>
                <jdk>[1.11,)</jdk>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>javax.annotation</groupId>
                    <artifactId>javax.annotation-api</artifactId>
                    <version>1.3.2</version>
                </dependency>
            </dependencies>
        </profile>
    </profiles>

后续版本将修改配置初始化过程,计划移除AbstractConfig.addIntoConfigManager(),不再依赖@PostConstruct注解,到时则不需要强制依赖javax.annotation-api

gaohuanjie commented 3 years ago

已查明此问题是由于Java11之后缺少javax.annotation-api导致@PostConstruct注解没有生效,导致dubbo xml配置的bean没有加入到ConfigManager中。 // AbstractConfig.java 中的addIntoConfigManager() 方法没有被执行

    @PostConstruct
    public void addIntoConfigManager() {
        ApplicationModel.getConfigManager().addConfig(this);
    }

解决办法:将下面的配置添加到pom.xml中,如果用Java11之后的版本则自动添加javax.annotation-api。

    <profiles>
        <!-- For jdk 11 above JavaEE annotation -->
        <profile>
            <id>javax.annotation</id>
            <activation>
                <jdk>[1.11,)</jdk>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>javax.annotation</groupId>
                    <artifactId>javax.annotation-api</artifactId>
                    <version>1.3.2</version>
                </dependency>
            </dependencies>
        </profile>
    </profiles>

后续版本将修改配置初始化过程,计划移除AbstractConfig.addIntoConfigManager(),不再依赖@PostConstruct注解,到时则不需要强制依赖javax.annotation-api

嗯,是这样的,但是又出现了一个新问题: 依赖包如下: 20210707084804

将dubbo3.0.0依赖的ZooKeeper包设为默认版本,则JDK8下运行正常,JDK14运行则出现如下异常: `D:\Program_Files\jdk-14.0.2\bin\java.exe "-javaagent:D:\Program_Files\JetBrains\IntelliJ IDEA 2021.1\lib\idea_rt.jar=55005:D:\Program_Files\JetBrains\IntelliJ IDEA 2021.1\bin" -Dfile.encoding=UTF-8 -classpath D:\dubbo-issue-8213\target\classes;C:\Users\GaoHuanjie.m2\repository\org\slf4j\slf4j-simple\1.6.6\slf4j-simple-1.6.6.jar;C:\Users\GaoHuanjie.m2\repository\org\slf4j\slf4j-api\1.6.6\slf4j-api-1.6.6.jar;C:\Users\GaoHuanjie.m2\repository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\dubbo\dubbo\3.0.0\dubbo-3.0.0.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-context\5.2.8.RELEASE\spring-context-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-aop\5.2.8.RELEASE\spring-aop-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-beans\5.2.8.RELEASE\spring-beans-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-core\5.2.8.RELEASE\spring-core-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-jcl\5.2.8.RELEASE\spring-jcl-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-expression\5.2.8.RELEASE\spring-expression-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\com\alibaba\spring\spring-context-support\1.0.8\spring-context-support-1.0.8.jar;C:\Users\GaoHuanjie.m2\repository\org\javassist\javassist\3.23.1-GA\javassist-3.23.1-GA.jar;C:\Users\GaoHuanjie.m2\repository\org\eclipse\collections\eclipse-collections\10.4.0\eclipse-collections-10.4.0.jar;C:\Users\GaoHuanjie.m2\repository\org\eclipse\collections\eclipse-collections-api\10.4.0\eclipse-collections-api-10.4.0.jar;C:\Users\GaoHuanjie.m2\repository\io\netty\netty-all\4.1.56.Final\netty-all-4.1.56.Final.jar;C:\Users\GaoHuanjie.m2\repository\com\google\code\gson\gson\2.8.5\gson-2.8.5.jar;C:\Users\GaoHuanjie.m2\repository\org\yaml\snakeyaml\1.20\snakeyaml-1.20.jar;C:\Users\GaoHuanjie.m2\repository\com\alibaba\fastjson\1.2.70\fastjson-1.2.70.jar;C:\Users\GaoHuanjie.m2\repository\org\roaringbitmap\RoaringBitmap\0.9.0\RoaringBitmap-0.9.0.jar;C:\Users\GaoHuanjie.m2\repository\org\roaringbitmap\shims\0.9.0\shims-0.9.0.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\curator\curator-x-discovery\4.0.1\curator-x-discovery-4.0.1.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\curator\curator-recipes\4.0.1\curator-recipes-4.0.1.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\curator\curator-framework\4.0.1\curator-framework-4.0.1.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\curator\curator-client\4.0.1\curator-client-4.0.1.jar;C:\Users\GaoHuanjie.m2\repository\com\google\guava\guava\20.0\guava-20.0.jar;C:\Users\GaoHuanjie.m2\repository\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar;C:\Users\GaoHuanjie.m2\repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\zookeeper\zookeeper\3.4.13\zookeeper-3.4.13.jar;C:\Users\GaoHuanjie.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar;C:\Users\GaoHuanjie.m2\repository\jline\jline\0.9.94\jline-0.9.94.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\yetus\audience-annotations\0.5.0\audience-annotations-0.5.0.jar com.jd.test.ServiceProvider [INFO ]-[2021-07-07 08:33:26] - -using logger: org.apache.dubbo.common.logger.log4j.Log4jLoggerAdapter [INFO ]-[2021-07-07 08:33:27] -org.apache.dubbo.config.bootstrap.DubboBootstrap.isUsedRegistryAsCenter(DubboBootstrap.java:880) - [DUBBO] No value is configured in the registry, the DynamicConfigurationFactory extension[name : zookeeper] supports as the config center, dubbo version: 3.0.0, current host: 10.10.13.156 [INFO ]-[2021-07-07 08:33:27] -org.apache.dubbo.config.bootstrap.DubboBootstrap.isUsedRegistryAsCenter(DubboBootstrap.java:886) - [DUBBO] The registry[] will be used as the config center, dubbo version: 3.0.0, current host: 10.10.13.156 [INFO ]-[2021-07-07 08:33:27] -org.apache.dubbo.config.bootstrap.DubboBootstrap.useRegistryAsConfigCenterIfNecessary(DubboBootstrap.java:795) - [DUBBO] use registry as config-center: [], dubbo version: 3.0.0, current host: 10.10.13.156 1922 [main] INFO org.apache.curator.utils.Compatibility - Running in ZooKeeper 3.4.x compatibility mode 1953 [main] INFO org.apache.curator.framework.imps.CuratorFrameworkImpl - Starting 1961 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:zookeeper.version=3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built on 06/29/2018 00:39 GMT 1961 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:host.name=Timmy 1961 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.version=14.0.2 1961 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.vendor=Oracle Corporation 1961 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.home=D:\Program_Files\jdk-14.0.2 1961 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.class.path=D:\dubbo-issue-8213\target\classes;C:\Users\GaoHuanjie.m2\repository\org\slf4j\slf4j-simple\1.6.6\slf4j-simple-1.6.6.jar;C:\Users\GaoHuanjie.m2\repository\org\slf4j\slf4j-api\1.6.6\slf4j-api-1.6.6.jar;C:\Users\GaoHuanjie.m2\repository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\dubbo\dubbo\3.0.0\dubbo-3.0.0.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-context\5.2.8.RELEASE\spring-context-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-aop\5.2.8.RELEASE\spring-aop-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-beans\5.2.8.RELEASE\spring-beans-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-core\5.2.8.RELEASE\spring-core-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-jcl\5.2.8.RELEASE\spring-jcl-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-expression\5.2.8.RELEASE\spring-expression-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\com\alibaba\spring\spring-context-support\1.0.8\spring-context-support-1.0.8.jar;C:\Users\GaoHuanjie.m2\repository\org\javassist\javassist\3.23.1-GA\javassist-3.23.1-GA.jar;C:\Users\GaoHuanjie.m2\repository\org\eclipse\collections\eclipse-collections\10.4.0\eclipse-collections-10.4.0.jar;C:\Users\GaoHuanjie.m2\repository\org\eclipse\collections\eclipse-collections-api\10.4.0\eclipse-collections-api-10.4.0.jar;C:\Users\GaoHuanjie.m2\repository\io\netty\netty-all\4.1.56.Final\netty-all-4.1.56.Final.jar;C:\Users\GaoHuanjie.m2\repository\com\google\code\gson\gson\2.8.5\gson-2.8.5.jar;C:\Users\GaoHuanjie.m2\repository\org\yaml\snakeyaml\1.20\snakeyaml-1.20.jar;C:\Users\GaoHuanjie.m2\repository\com\alibaba\fastjson\1.2.70\fastjson-1.2.70.jar;C:\Users\GaoHuanjie.m2\repository\org\roaringbitmap\RoaringBitmap\0.9.0\RoaringBitmap-0.9.0.jar;C:\Users\GaoHuanjie.m2\repository\org\roaringbitmap\shims\0.9.0\shims-0.9.0.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\curator\curator-x-discovery\4.0.1\curator-x-discovery-4.0.1.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\curator\curator-recipes\4.0.1\curator-recipes-4.0.1.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\curator\curator-framework\4.0.1\curator-framework-4.0.1.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\curator\curator-client\4.0.1\curator-client-4.0.1.jar;C:\Users\GaoHuanjie.m2\repository\com\google\guava\guava\20.0\guava-20.0.jar;C:\Users\GaoHuanjie.m2\repository\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar;C:\Users\GaoHuanjie.m2\repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\zookeeper\zookeeper\3.4.13\zookeeper-3.4.13.jar;C:\Users\GaoHuanjie.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar;C:\Users\GaoHuanjie.m2\repository\jline\jline\0.9.94\jline-0.9.94.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\yetus\audience-annotations\0.5.0\audience-annotations-0.5.0.jar 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.library.path=D:\Program_Files\jdk-14.0.2\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:\Program_Files\VMware\VMware Workstation\bin\;D:\Program_Files\apache-maven-3.6.3\bin;D:\Program_Files\VanDyke Software\Clients\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Lenovo\Fingerprint Manager Pro\;D:\Program_Files\MySQL\MySQL Server 5.5\bin;D:\Program_Files\nginx-1.16.0;D:\Program_Files\nodejs;C:\Users\GaoHuanjie\AppData\Roaming\npm;C:\Users\GaoHuanjie\AppData\Roaming\npm\node_modules\vue-cli\bin;C:\Program Files\TortoiseGit\bin;D:\Program_Files\curl-7.33.0;D:\Program_Files\erl-23.2\bin;D:\Program_Files\rabbitmq_server-3.8.9\sbin;D:\Program_Files\nacos-server-1.4.0\bin;D:\Program_Files\mysql-5.7.30-winx64\bin;D:\Program_Files\Git\bin;D:\Program_Files\gradle-6.8.1\bin;D:\Program_Files\jdk-14.0.2\bin;C:\Program Files (x86)\Google\Chrome\Application\;D:\Program_Files\nodejs\npm_global;D:\Program_Files\nodejs\;C:\Users\GaoHuanjie\AppData\Roaming\npm;D:\Program_Files\Microsoft VS Code\bin;. 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.io.tmpdir=C:\Users\GAOHUA~1\AppData\Local\Temp\ 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.compiler= 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:os.name=Windows 8.1 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:os.arch=amd64 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:os.version=6.3 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:user.name=GaoHuanjie 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:user.home=C:\Users\GaoHuanjie 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:user.dir=D:\dubbo-issue-8213 1963 [main] INFO org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=127.0.0.1:2181 sessionTimeout=60000 watcher=org.apache.curator.ConnectionState@2b95e48b **2054 [main-SendThread(127.0.0.1:2181)] INFO org.apache.zookeeper.ClientCnxn - Opening socket connection to server 127.0.0.1/:2181. Will not attempt to authenticate using SASL (unknown error) 2056 [main] INFO org.apache.curator.framework.imps.CuratorFrameworkImpl - Default schema 2058 [main-SendThread(127.0.0.1:2181)] WARN org.apache.zookeeper.ClientCnxn - Session 0x0 for server 127.0.0.1/:2181, unexpected error, closing socket connection and attempting reconnect java.nio.channels.UnresolvedAddressException at java.base/sun.nio.ch.Net.checkAddress(Net.java:139) at java.base/sun.nio.ch.SocketChannelImpl.checkRemote(SocketChannelImpl.java:727) at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:741) at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:277) at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:287) at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1021) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1064) 3162 [main-SendThread(127.0.0.1:2181)] INFO org.apache.zookeeper.ClientCnxn - Opening socket connection to server 127.0.0.1/:2181. Will not attempt to authenticate using SASL (unknown error) 3162 [main-SendThread(127.0.0.1:2181)] WARN org.apache.zookeeper.ClientCnxn - Session 0x0 for server 127.0.0.1/:2181, unexpected error, closing socket connection and attempting reconnect java.nio.channels.UnresolvedAddressException at java.base/sun.nio.ch.Net.checkAddress(Net.java:139) at java.base/sun.nio.ch.SocketChannelImpl.checkRemote(SocketChannelImpl.java:727) at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:741) at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:277) at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:287) at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1021) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1064) 4264 [main-SendThread(127.0.0.1:2181)] INFO org.apache.zookeeper.ClientCnxn - Opening socket connection to server 127.0.0.1/:2181. Will not attempt to authenticate using SASL (unknown error) 4264 [main-SendThread(127.0.0.1:2181)] WARN org.apache.zookeeper.ClientCnxn - Session 0x0 for server 127.0.0.1/:2181, unexpected error, closing socket connection and attempting reconnect java.nio.channels.UnresolvedAddressException at java.base/sun.nio.ch.Net.checkAddress(Net.java:139) at java.base/sun.nio.ch.SocketChannelImpl.checkRemote(SocketChannelImpl.java:727) at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:741) at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:277) at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:287) at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1021) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1064) Exception in thread "main" java.lang.IllegalStateException: zookeeper not connected at org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperClient.(CuratorZookeeperClient.java:87) at org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperTransporter.createZookeeperClient(CuratorZookeeperTransporter.java:26) at org.apache.dubbo.remoting.zookeeper.support.AbstractZookeeperTransporter.connect(AbstractZookeeperTransporter.java:71) at org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter$Adaptive.connect(ZookeeperTransporter$Adaptive.java) at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfiguration.(ZookeeperDynamicConfiguration.java:68) at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfigurationFactory.createDynamicConfiguration(ZookeeperDynamicConfigurationFactory.java:37) at org.apache.dubbo.common.config.configcenter.AbstractDynamicConfigurationFactory.lambda$getDynamicConfiguration$0(AbstractDynamicConfigurationFactory.java:39) at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) at org.apache.dubbo.common.config.configcenter.AbstractDynamicConfigurationFactory.getDynamicConfiguration(AbstractDynamicConfigurationFactory.java:39) at org.apache.dubbo.common.config.configcenter.DynamicConfiguration.getDynamicConfiguration(DynamicConfiguration.java:248) at org.apache.dubbo.config.bootstrap.DubboBootstrap.prepareEnvironment(DubboBootstrap.java:1238) at org.apache.dubbo.config.bootstrap.DubboBootstrap.startConfigCenter(DubboBootstrap.java:736) at org.apache.dubbo.config.bootstrap.DubboBootstrap.initialize(DubboBootstrap.java:552) at org.apache.dubbo.config.bootstrap.DubboBootstrap.start(DubboBootstrap.java:1085) at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onContextRefreshedEvent(DubboBootstrapApplicationListener.java:70) at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onApplicationContextEvent(DubboBootstrapApplicationListener.java:63) at com.alibaba.spring.context.OnceApplicationContextEventListener.onApplicationEvent(OnceApplicationContextEventListener.java:52) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:404) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:361) at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:898) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:554) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:144) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:85) at com.jd.test.ServiceProvider.main(ServiceProvider.java:11) Caused by: java.lang.IllegalStateException: zookeeper not connected at org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperClient.(CuratorZookeeperClient.java:84) ... 26 more** [INFO ]-[2021-07-07 08:33:30] -org.apache.dubbo.config.DubboShutdownHook.run(DubboShutdownHook.java:61) - [DUBBO] Run shutdown hook now., dubbo version: 3.0.0, current host: 10.10.13.156 [INFO ]-[2021-07-07 08:33:30] -org.apache.dubbo.registry.support.AbstractRegistryFactory.destroyAll(AbstractRegistryFactory.java:94) - [DUBBO] Close all registries [], dubbo version: 3.0.0, current host: 10.10.13.156 [INFO ]-[2021-07-07 08:33:30] -org.apache.dubbo.config.bootstrap.DubboBootstrap.lambda$release$16(DubboBootstrap.java:1550) - [DUBBO] DubboBootstrap is about to shutdown..., dubbo version: 3.0.0, current host: 10.10.13.156

Process finished with exit code -1`

horizonzy commented 3 years ago

这个应该是zookeeper地址解析那块的问题。jdk14解析地址存在问题,导致连接zk失败

发自我的iPhone

------------------ 原始邮件 ------------------ 发件人: gaohuanjie @.> 发送时间: 2021年7月7日 08:42 收件人: apache/dubbo @.> 抄送: 赵延 @.>, Comment @.> 主题: 回复:[apache/dubbo] Dubbo 3.0.0中使用xml配置无效,只有在properties中配置才有效 (#8213)

已查明此问题是由于Java11之后缺少javax.annotation-api导致@PostConstruct注解没有生效,导致dubbo xml配置的bean没有加入到ConfigManager中。 // AbstractConfig.java 中的addIntoConfigManager() 方法没有被执行 @PostConstruct public void addIntoConfigManager() { ApplicationModel.getConfigManager().addConfig(this); }

解决办法:将下面的配置添加到pom.xml中,如果用Java11之后的版本则自动添加javax.annotation-api。 <profiles> <!-- For jdk 11 above JavaEE annotation --> <profile> <id>javax.annotation</id> <activation> <jdk>[1.11,)</jdk> </activation> <dependencies> <dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> <version>1.3.2</version> </dependency> </dependencies> </profile> </profiles>
后续版本将修改配置初始化过程,计划移除AbstractConfig.addIntoConfigManager(),不再依赖@PostConstruct注解,到时则不需要强制依赖javax.annotation-api。

嗯,是这样的,但是又出现了一个新问题: 依赖包如下: `

org.slf4j slf4j-simple 1.6.6

javax.annotation javax.annotation-api 1.3.2

org.apache.dubbo dubbo 3.0.0

<dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-dependencies-zookeeper</artifactId> <version>3.0.0</version> <type>pom</type> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions> </dependency> 将dubbo3.0.0依赖的ZooKeeper包设为默认版本,则JDK8下运行正常,JDK14运行则出现如下异常:D:\Program_Files\jdk-14.0.2\bin\java.exe "-javaagent:D:\Program_Files\JetBrains\IntelliJ IDEA 2021.1\lib\idea_rt.jar=55005:D:\Program_Files\JetBrains\IntelliJ IDEA 2021.1\bin" -Dfile.encoding=UTF-8 -classpath D:\dubbo-issue-8213\target\classes;C:\Users\GaoHuanjie.m2\repository\org\slf4j\slf4j-simple\1.6.6\slf4j-simple-1.6.6.jar;C:\Users\GaoHuanjie.m2\repository\org\slf4j\slf4j-api\1.6.6\slf4j-api-1.6.6.jar;C:\Users\GaoHuanjie.m2\repository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\dubbo\dubbo\3.0.0\dubbo-3.0.0.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-context\5.2.8.RELEASE\spring-context-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-aop\5.2.8.RELEASE\spring-aop-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-beans\5.2.8.RELEASE\spring-beans-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-core\5.2.8.RELEASE\spring-core-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-jcl\5.2.8.RELEASE\spring-jcl-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-expression\5.2.8.RELEASE\spring-expression-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\com\alibaba\spring\spring-context-support\1.0.8\spring-context-support-1.0.8.jar;C:\Users\GaoHuanjie.m2\repository\org\javassist\javassist\3.23.1-GA\javassist-3.23.1-GA.jar;C:\Users\GaoHuanjie.m2\repository\org\eclipse\collections\eclipse-collections\10.4.0\eclipse-collections-10.4.0.jar;C:\Users\GaoHuanjie.m2\repository\org\eclipse\collections\eclipse-collections-api\10.4.0\eclipse-collections-api-10.4.0.jar;C:\Users\GaoHuanjie.m2\repository\io\netty\netty-all\4.1.56.Final\netty-all-4.1.56.Final.jar;C:\Users\GaoHuanjie.m2\repository\com\google\code\gson\gson\2.8.5\gson-2.8.5.jar;C:\Users\GaoHuanjie.m2\repository\org\yaml\snakeyaml\1.20\snakeyaml-1.20.jar;C:\Users\GaoHuanjie.m2\repository\com\alibaba\fastjson\1.2.70\fastjson-1.2.70.jar;C:\Users\GaoHuanjie.m2\repository\org\roaringbitmap\RoaringBitmap\0.9.0\RoaringBitmap-0.9.0.jar;C:\Users\GaoHuanjie.m2\repository\org\roaringbitmap\shims\0.9.0\shims-0.9.0.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\curator\curator-x-discovery\4.0.1\curator-x-discovery-4.0.1.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\curator\curator-recipes\4.0.1\curator-recipes-4.0.1.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\curator\curator-framework\4.0.1\curator-framework-4.0.1.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\curator\curator-client\4.0.1\curator-client-4.0.1.jar;C:\Users\GaoHuanjie.m2\repository\com\google\guava\guava\20.0\guava-20.0.jar;C:\Users\GaoHuanjie.m2\repository\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar;C:\Users\GaoHuanjie.m2\repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\zookeeper\zookeeper\3.4.13\zookeeper-3.4.13.jar;C:\Users\GaoHuanjie.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar;C:\Users\GaoHuanjie.m2\repository\jline\jline\0.9.94\jline-0.9.94.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\yetus\audience-annotations\0.5.0\audience-annotations-0.5.0.jar com.jd.test.ServiceProvider [INFO ]-[2021-07-07 08:33:26] - -using logger: org.apache.dubbo.common.logger.log4j.Log4jLoggerAdapter [INFO ]-[2021-07-07 08:33:27] -org.apache.dubbo.config.bootstrap.DubboBootstrap.isUsedRegistryAsCenter(DubboBootstrap.java:880) - [DUBBO] No value is configured in the registry, the DynamicConfigurationFactory extension[name : zookeeper] supports as the config center, dubbo version: 3.0.0, current host: 10.10.13.156 [INFO ]-[2021-07-07 08:33:27] -org.apache.dubbo.config.bootstrap.DubboBootstrap.isUsedRegistryAsCenter(DubboBootstrap.java:886) - [DUBBO] The registry[] will be used as the config center, dubbo version: 3.0.0, current host: 10.10.13.156 [INFO ]-[2021-07-07 08:33:27] -org.apache.dubbo.config.bootstrap.DubboBootstrap.useRegistryAsConfigCenterIfNecessary(DubboBootstrap.java:795) - [DUBBO] use registry as config-center: [], dubbo version: 3.0.0, current host: 10.10.13.156 1922 [main] INFO org.apache.curator.utils.Compatibility - Running in ZooKeeper 3.4.x compatibility mode 1953 [main] INFO org.apache.curator.framework.imps.CuratorFrameworkImpl - Starting 1961 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:zookeeper.version=3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built on 06/29/2018 00:39 GMT 1961 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:host.name=Timmy 1961 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.version=14.0.2 1961 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.vendor=Oracle Corporation 1961 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.home=D:\Program_Files\jdk-14.0.2 1961 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.class.path=D:\dubbo-issue-8213\target\classes;C:\Users\GaoHuanjie.m2\repository\org\slf4j\slf4j-simple\1.6.6\slf4j-simple-1.6.6.jar;C:\Users\GaoHuanjie.m2\repository\org\slf4j\slf4j-api\1.6.6\slf4j-api-1.6.6.jar;C:\Users\GaoHuanjie.m2\repository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\dubbo\dubbo\3.0.0\dubbo-3.0.0.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-context\5.2.8.RELEASE\spring-context-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-aop\5.2.8.RELEASE\spring-aop-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-beans\5.2.8.RELEASE\spring-beans-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-core\5.2.8.RELEASE\spring-core-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-jcl\5.2.8.RELEASE\spring-jcl-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\org\springframework\spring-expression\5.2.8.RELEASE\spring-expression-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie.m2\repository\com\alibaba\spring\spring-context-support\1.0.8\spring-context-support-1.0.8.jar;C:\Users\GaoHuanjie.m2\repository\org\javassist\javassist\3.23.1-GA\javassist-3.23.1-GA.jar;C:\Users\GaoHuanjie.m2\repository\org\eclipse\collections\eclipse-collections\10.4.0\eclipse-collections-10.4.0.jar;C:\Users\GaoHuanjie.m2\repository\org\eclipse\collections\eclipse-collections-api\10.4.0\eclipse-collections-api-10.4.0.jar;C:\Users\GaoHuanjie.m2\repository\io\netty\netty-all\4.1.56.Final\netty-all-4.1.56.Final.jar;C:\Users\GaoHuanjie.m2\repository\com\google\code\gson\gson\2.8.5\gson-2.8.5.jar;C:\Users\GaoHuanjie.m2\repository\org\yaml\snakeyaml\1.20\snakeyaml-1.20.jar;C:\Users\GaoHuanjie.m2\repository\com\alibaba\fastjson\1.2.70\fastjson-1.2.70.jar;C:\Users\GaoHuanjie.m2\repository\org\roaringbitmap\RoaringBitmap\0.9.0\RoaringBitmap-0.9.0.jar;C:\Users\GaoHuanjie.m2\repository\org\roaringbitmap\shims\0.9.0\shims-0.9.0.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\curator\curator-x-discovery\4.0.1\curator-x-discovery-4.0.1.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\curator\curator-recipes\4.0.1\curator-recipes-4.0.1.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\curator\curator-framework\4.0.1\curator-framework-4.0.1.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\curator\curator-client\4.0.1\curator-client-4.0.1.jar;C:\Users\GaoHuanjie.m2\repository\com\google\guava\guava\20.0\guava-20.0.jar;C:\Users\GaoHuanjie.m2\repository\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar;C:\Users\GaoHuanjie.m2\repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\zookeeper\zookeeper\3.4.13\zookeeper-3.4.13.jar;C:\Users\GaoHuanjie.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar;C:\Users\GaoHuanjie.m2\repository\jline\jline\0.9.94\jline-0.9.94.jar;C:\Users\GaoHuanjie.m2\repository\org\apache\yetus\audience-annotations\0.5.0\audience-annotations-0.5.0.jar 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.library.path=D:\Program_Files\jdk-14.0.2\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:\Program_Files\VMware\VMware Workstation\bin\;D:\Program_Files\apache-maven-3.6.3\bin;D:\Program_Files\VanDyke Software\Clients\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Lenovo\Fingerprint Manager Pro\;D:\Program_Files\MySQL\MySQL Server 5.5\bin;D:\Program_Files\nginx-1.16.0;D:\Program_Files\nodejs;C:\Users\GaoHuanjie\AppData\Roaming\npm;C:\Users\GaoHuanjie\AppData\Roaming\npm\node_modules\vue-cli\bin;C:\Program Files\TortoiseGit\bin;D:\Program_Files\curl-7.33.0;D:\Program_Files\erl-23.2\bin;D:\Program_Files\rabbitmq_server-3.8.9\sbin;D:\Program_Files\nacos-server-1.4.0\bin;D:\Program_Files\mysql-5.7.30-winx64\bin;D:\Program_Files\Git\bin;D:\Program_Files\gradle-6.8.1\bin;D:\Program_Files\jdk-14.0.2\bin;C:\Program Files (x86)\Google\Chrome\Application\;D:\Program_Files\nodejs\npm_global;D:\Program_Files\nodejs\;C:\Users\GaoHuanjie\AppData\Roaming\npm;D:\Program_Files\Microsoft VS Code\bin;. 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.io.tmpdir=C:\Users\GAOHUA~1\AppData\Local\Temp\ 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.compiler= 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:os.name=Windows 8.1 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:os.arch=amd64 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:os.version=6.3 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:user.name=GaoHuanjie 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:user.home=C:\Users\GaoHuanjie 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:user.dir=D:\dubbo-issue-8213 1963 [main] INFO org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=127.0.0.1:2181 sessionTimeout=60000 @.*** 2054 [main-SendThread(127.0.0.1:2181)] INFO org.apache.zookeeper.ClientCnxn - Opening socket connection to server 127.0.0.1/:2181. Will not attempt to authenticate using SASL (unknown error) 2056 [main] INFO org.apache.curator.framework.imps.CuratorFrameworkImpl - Default schema 2058 [main-SendThread(127.0.0.1:2181)] WARN org.apache.zookeeper.ClientCnxn - Session 0x0 for server 127.0.0.1/:2181, unexpected error, closing socket connection and attempting reconnect java.nio.channels.UnresolvedAddressException at java.base/sun.nio.ch.Net.checkAddress(Net.java:139) at java.base/sun.nio.ch.SocketChannelImpl.checkRemote(SocketChannelImpl.java:727) at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:741) at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:277) at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:287) at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1021) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1064) 3162 [main-SendThread(127.0.0.1:2181)] INFO org.apache.zookeeper.ClientCnxn - Opening socket connection to server 127.0.0.1/:2181. Will not attempt to authenticate using SASL (unknown error) 3162 [main-SendThread(127.0.0.1:2181)] WARN org.apache.zookeeper.ClientCnxn - Session 0x0 for server 127.0.0.1/:2181, unexpected error, closing socket connection and attempting reconnect java.nio.channels.UnresolvedAddressException at java.base/sun.nio.ch.Net.checkAddress(Net.java:139) at java.base/sun.nio.ch.SocketChannelImpl.checkRemote(SocketChannelImpl.java:727) at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:741) at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:277) at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:287) at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1021) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1064) 4264 [main-SendThread(127.0.0.1:2181)] INFO org.apache.zookeeper.ClientCnxn - Opening socket connection to server 127.0.0.1/:2181. Will not attempt to authenticate using SASL (unknown error) 4264 [main-SendThread(127.0.0.1:2181)] WARN org.apache.zookeeper.ClientCnxn - Session 0x0 for server 127.0.0.1/:2181, unexpected error, closing socket connection and attempting reconnect java.nio.channels.UnresolvedAddressException at java.base/sun.nio.ch.Net.checkAddress(Net.java:139) at java.base/sun.nio.ch.SocketChannelImpl.checkRemote(SocketChannelImpl.java:727) at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:741) at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:277) at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:287) at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1021) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1064) Exception in thread "main" java.lang.IllegalStateException: zookeeper not connected at org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperClient.(CuratorZookeeperClient.java:87) at org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperTransporter.createZookeeperClient(CuratorZookeeperTransporter.java:26) at org.apache.dubbo.remoting.zookeeper.support.AbstractZookeeperTransporter.connect(AbstractZookeeperTransporter.java:71) at org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter$Adaptive.connect(ZookeeperTransporter$Adaptive.java) at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfiguration.(ZookeeperDynamicConfiguration.java:68) at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfigurationFactory.createDynamicConfiguration(ZookeeperDynamicConfigurationFactory.java:37) at org.apache.dubbo.common.config.configcenter.AbstractDynamicConfigurationFactory.lambda$getDynamicConfiguration$0(AbstractDynamicConfigurationFactory.java:39) at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) at org.apache.dubbo.common.config.configcenter.AbstractDynamicConfigurationFactory.getDynamicConfiguration(AbstractDynamicConfigurationFactory.java:39) at org.apache.dubbo.common.config.configcenter.DynamicConfiguration.getDynamicConfiguration(DynamicConfiguration.java:248) at org.apache.dubbo.config.bootstrap.DubboBootstrap.prepareEnvironment(DubboBootstrap.java:1238) at org.apache.dubbo.config.bootstrap.DubboBootstrap.startConfigCenter(DubboBootstrap.java:736) at org.apache.dubbo.config.bootstrap.DubboBootstrap.initialize(DubboBootstrap.java:552) at org.apache.dubbo.config.bootstrap.DubboBootstrap.start(DubboBootstrap.java:1085) at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onContextRefreshedEvent(DubboBootstrapApplicationListener.java:70) at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onApplicationContextEvent(DubboBootstrapApplicationListener.java:63) at com.alibaba.spring.context.OnceApplicationContextEventListener.onApplicationEvent(OnceApplicationContextEventListener.java:52) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:404) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:361) at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:898) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:554) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:144) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:85) at com.jd.test.ServiceProvider.main(ServiceProvider.java:11) Caused by: java.lang.IllegalStateException: zookeeper not connected at org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperClient.(CuratorZookeeperClient.java:84) ... 26 more [INFO ]-[2021-07-07 08:33:30] -org.apache.dubbo.config.DubboShutdownHook.run(DubboShutdownHook.java:61) - [DUBBO] Run shutdown hook now., dubbo version: 3.0.0, current host: 10.10.13.156 [INFO ]-[2021-07-07 08:33:30] -org.apache.dubbo.registry.support.AbstractRegistryFactory.destroyAll(AbstractRegistryFactory.java:94) - [DUBBO] Close all registries [], dubbo version: 3.0.0, current host: 10.10.13.156 [INFO ]-[2021-07-07 08:33:30] -org.apache.dubbo.config.bootstrap.DubboBootstrap.lambda$release$16(DubboBootstrap.java:1550) - [DUBBO] DubboBootstrap is about to shutdown..., dubbo version: 3.0.0, current host: 10.10.13.156 Process finished with exit code -1`

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

gaohuanjie commented 3 years ago

这个应该是zookeeper地址解析那块的问题。jdk14解析地址存在问题,导致连接zk失败 发自我的iPhone ------------------ 原始邮件 ------------------ 发件人: gaohuanjie @.> 发送时间: 2021年7月7日 08:42 收件人: apache/dubbo @.> 抄送: 赵延 @.>, Comment @.> 主题: 回复:[apache/dubbo] Dubbo 3.0.0中使用xml配置无效,只有在properties中配置才有效 (#8213) 已查明此问题是由于Java11之后缺少javax.annotation-api导致@PostConstruct注解没有生效,导致dubbo xml配置的bean没有加入到ConfigManager中。 // AbstractConfig.java 中的addIntoConfigManager() 方法没有被执行 @PostConstruct public void addIntoConfigManager() { ApplicationModel.getConfigManager().addConfig(this); } 解决办法:将下面的配置添加到pom.xml中,如果用Java11之后的版本则自动添加javax.annotation-api。 <profiles> <!-- For jdk 11 above JavaEE annotation --> <profile> <id>javax.annotation</id> <activation> <jdk>[1.11,)</jdk> </activation> <dependencies> <dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> <version>1.3.2</version> </dependency> </dependencies> </profile> </profiles> 后续版本将修改配置初始化过程,计划移除AbstractConfig.addIntoConfigManager(),不再依赖@PostConstruct注解,到时则不需要强制依赖javax.annotation-api。 嗯,是这样的,但是又出现了一个新问题: 依赖包如下: org.slf4j slf4j-simple 1.6.6 javax.annotation javax.annotation-api 1.3.2 org.apache.dubbo dubbo 3.0.0 <dependency&gt; <groupId&gt;org.apache.dubbo</groupId&gt; <artifactId&gt;dubbo-dependencies-zookeeper</artifactId&gt; <version&gt;3.0.0</version&gt; <type&gt;pom</type&gt; <exclusions&gt; <exclusion&gt; <groupId&gt;org.slf4j</groupId&gt; <artifactId&gt;slf4j-log4j12</artifactId&gt; </exclusion&gt; </exclusions&gt; </dependency&gt; 将dubbo3.0.0依赖的ZooKeeper包设为默认版本,则JDK8下运行正常,JDK14运行则出现如下异常: D:\Program_Files\jdk-14.0.2\bin\java.exe "-javaagent:D:\Program_Files\JetBrains\IntelliJ IDEA 2021.1\lib\idea_rt.jar=55005:D:\Program_Files\JetBrains\IntelliJ IDEA 2021.1\bin" -Dfile.encoding=UTF-8 -classpath D:\dubbo-issue-8213\target\classes;C:\Users\GaoHuanjie\.m2\repository\org\slf4j\slf4j-simple\1.6.6\slf4j-simple-1.6.6.jar;C:\Users\GaoHuanjie\.m2\repository\org\slf4j\slf4j-api\1.6.6\slf4j-api-1.6.6.jar;C:\Users\GaoHuanjie\.m2\repository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;C:\Users\GaoHuanjie\.m2\repository\org\apache\dubbo\dubbo\3.0.0\dubbo-3.0.0.jar;C:\Users\GaoHuanjie\.m2\repository\org\springframework\spring-context\5.2.8.RELEASE\spring-context-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie\.m2\repository\org\springframework\spring-aop\5.2.8.RELEASE\spring-aop-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie\.m2\repository\org\springframework\spring-beans\5.2.8.RELEASE\spring-beans-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie\.m2\repository\org\springframework\spring-core\5.2.8.RELEASE\spring-core-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie\.m2\repository\org\springframework\spring-jcl\5.2.8.RELEASE\spring-jcl-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie\.m2\repository\org\springframework\spring-expression\5.2.8.RELEASE\spring-expression-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie\.m2\repository\com\alibaba\spring\spring-context-support\1.0.8\spring-context-support-1.0.8.jar;C:\Users\GaoHuanjie\.m2\repository\org\javassist\javassist\3.23.1-GA\javassist-3.23.1-GA.jar;C:\Users\GaoHuanjie\.m2\repository\org\eclipse\collections\eclipse-collections\10.4.0\eclipse-collections-10.4.0.jar;C:\Users\GaoHuanjie\.m2\repository\org\eclipse\collections\eclipse-collections-api\10.4.0\eclipse-collections-api-10.4.0.jar;C:\Users\GaoHuanjie\.m2\repository\io\netty\netty-all\4.1.56.Final\netty-all-4.1.56.Final.jar;C:\Users\GaoHuanjie\.m2\repository\com\google\code\gson\gson\2.8.5\gson-2.8.5.jar;C:\Users\GaoHuanjie\.m2\repository\org\yaml\snakeyaml\1.20\snakeyaml-1.20.jar;C:\Users\GaoHuanjie\.m2\repository\com\alibaba\fastjson\1.2.70\fastjson-1.2.70.jar;C:\Users\GaoHuanjie\.m2\repository\org\roaringbitmap\RoaringBitmap\0.9.0\RoaringBitmap-0.9.0.jar;C:\Users\GaoHuanjie\.m2\repository\org\roaringbitmap\shims\0.9.0\shims-0.9.0.jar;C:\Users\GaoHuanjie\.m2\repository\org\apache\curator\curator-x-discovery\4.0.1\curator-x-discovery-4.0.1.jar;C:\Users\GaoHuanjie\.m2\repository\org\apache\curator\curator-recipes\4.0.1\curator-recipes-4.0.1.jar;C:\Users\GaoHuanjie\.m2\repository\org\apache\curator\curator-framework\4.0.1\curator-framework-4.0.1.jar;C:\Users\GaoHuanjie\.m2\repository\org\apache\curator\curator-client\4.0.1\curator-client-4.0.1.jar;C:\Users\GaoHuanjie\.m2\repository\com\google\guava\guava\20.0\guava-20.0.jar;C:\Users\GaoHuanjie\.m2\repository\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar;C:\Users\GaoHuanjie\.m2\repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar;C:\Users\GaoHuanjie\.m2\repository\org\apache\zookeeper\zookeeper\3.4.13\zookeeper-3.4.13.jar;C:\Users\GaoHuanjie\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar;C:\Users\GaoHuanjie\.m2\repository\jline\jline\0.9.94\jline-0.9.94.jar;C:\Users\GaoHuanjie\.m2\repository\org\apache\yetus\audience-annotations\0.5.0\audience-annotations-0.5.0.jar com.jd.test.ServiceProvider [INFO ]-[2021-07-07 08:33:26] - -using logger: org.apache.dubbo.common.logger.log4j.Log4jLoggerAdapter [INFO ]-[2021-07-07 08:33:27] -org.apache.dubbo.config.bootstrap.DubboBootstrap.isUsedRegistryAsCenter(DubboBootstrap.java:880) - [DUBBO] No value is configured in the registry, the DynamicConfigurationFactory extension[name : zookeeper] supports as the config center, dubbo version: 3.0.0, current host: 10.10.13.156 [INFO ]-[2021-07-07 08:33:27] -org.apache.dubbo.config.bootstrap.DubboBootstrap.isUsedRegistryAsCenter(DubboBootstrap.java:886) - [DUBBO] The registry[] will be used as the config center, dubbo version: 3.0.0, current host: 10.10.13.156 [INFO ]-[2021-07-07 08:33:27] -org.apache.dubbo.config.bootstrap.DubboBootstrap.useRegistryAsConfigCenterIfNecessary(DubboBootstrap.java:795) - [DUBBO] use registry as config-center: [], dubbo version: 3.0.0, current host: 10.10.13.156 1922 [main] INFO org.apache.curator.utils.Compatibility - Running in ZooKeeper 3.4.x compatibility mode 1953 [main] INFO org.apache.curator.framework.imps.CuratorFrameworkImpl - Starting 1961 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:zookeeper.version=3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built on 06/29/2018 00:39 GMT 1961 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:host.name=Timmy 1961 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.version=14.0.2 1961 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.vendor=Oracle Corporation 1961 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.home=D:\Program_Files\jdk-14.0.2 1961 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.class.path=D:\dubbo-issue-8213\target\classes;C:\Users\GaoHuanjie\.m2\repository\org\slf4j\slf4j-simple\1.6.6\slf4j-simple-1.6.6.jar;C:\Users\GaoHuanjie\.m2\repository\org\slf4j\slf4j-api\1.6.6\slf4j-api-1.6.6.jar;C:\Users\GaoHuanjie\.m2\repository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;C:\Users\GaoHuanjie\.m2\repository\org\apache\dubbo\dubbo\3.0.0\dubbo-3.0.0.jar;C:\Users\GaoHuanjie\.m2\repository\org\springframework\spring-context\5.2.8.RELEASE\spring-context-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie\.m2\repository\org\springframework\spring-aop\5.2.8.RELEASE\spring-aop-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie\.m2\repository\org\springframework\spring-beans\5.2.8.RELEASE\spring-beans-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie\.m2\repository\org\springframework\spring-core\5.2.8.RELEASE\spring-core-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie\.m2\repository\org\springframework\spring-jcl\5.2.8.RELEASE\spring-jcl-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie\.m2\repository\org\springframework\spring-expression\5.2.8.RELEASE\spring-expression-5.2.8.RELEASE.jar;C:\Users\GaoHuanjie\.m2\repository\com\alibaba\spring\spring-context-support\1.0.8\spring-context-support-1.0.8.jar;C:\Users\GaoHuanjie\.m2\repository\org\javassist\javassist\3.23.1-GA\javassist-3.23.1-GA.jar;C:\Users\GaoHuanjie\.m2\repository\org\eclipse\collections\eclipse-collections\10.4.0\eclipse-collections-10.4.0.jar;C:\Users\GaoHuanjie\.m2\repository\org\eclipse\collections\eclipse-collections-api\10.4.0\eclipse-collections-api-10.4.0.jar;C:\Users\GaoHuanjie\.m2\repository\io\netty\netty-all\4.1.56.Final\netty-all-4.1.56.Final.jar;C:\Users\GaoHuanjie\.m2\repository\com\google\code\gson\gson\2.8.5\gson-2.8.5.jar;C:\Users\GaoHuanjie\.m2\repository\org\yaml\snakeyaml\1.20\snakeyaml-1.20.jar;C:\Users\GaoHuanjie\.m2\repository\com\alibaba\fastjson\1.2.70\fastjson-1.2.70.jar;C:\Users\GaoHuanjie\.m2\repository\org\roaringbitmap\RoaringBitmap\0.9.0\RoaringBitmap-0.9.0.jar;C:\Users\GaoHuanjie\.m2\repository\org\roaringbitmap\shims\0.9.0\shims-0.9.0.jar;C:\Users\GaoHuanjie\.m2\repository\org\apache\curator\curator-x-discovery\4.0.1\curator-x-discovery-4.0.1.jar;C:\Users\GaoHuanjie\.m2\repository\org\apache\curator\curator-recipes\4.0.1\curator-recipes-4.0.1.jar;C:\Users\GaoHuanjie\.m2\repository\org\apache\curator\curator-framework\4.0.1\curator-framework-4.0.1.jar;C:\Users\GaoHuanjie\.m2\repository\org\apache\curator\curator-client\4.0.1\curator-client-4.0.1.jar;C:\Users\GaoHuanjie\.m2\repository\com\google\guava\guava\20.0\guava-20.0.jar;C:\Users\GaoHuanjie\.m2\repository\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar;C:\Users\GaoHuanjie\.m2\repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar;C:\Users\GaoHuanjie\.m2\repository\org\apache\zookeeper\zookeeper\3.4.13\zookeeper-3.4.13.jar;C:\Users\GaoHuanjie\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar;C:\Users\GaoHuanjie\.m2\repository\jline\jline\0.9.94\jline-0.9.94.jar;C:\Users\GaoHuanjie\.m2\repository\org\apache\yetus\audience-annotations\0.5.0\audience-annotations-0.5.0.jar 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.library.path=D:\Program_Files\jdk-14.0.2\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:\Program_Files\VMware\VMware Workstation\bin\;D:\Program_Files\apache-maven-3.6.3\bin;D:\Program_Files\VanDyke Software\Clients\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Lenovo\Fingerprint Manager Pro\;D:\Program_Files\MySQL\MySQL Server 5.5\bin;D:\Program_Files\nginx-1.16.0;D:\Program_Files\nodejs;C:\Users\GaoHuanjie\AppData\Roaming\npm;C:\Users\GaoHuanjie\AppData\Roaming\npm\node_modules\vue-cli\bin;C:\Program Files\TortoiseGit\bin;D:\Program_Files\curl-7.33.0;D:\Program_Files\erl-23.2\bin;D:\Program_Files\rabbitmq_server-3.8.9\sbin;D:\Program_Files\nacos-server-1.4.0\bin;D:\Program_Files\mysql-5.7.30-winx64\bin;D:\Program_Files\Git\bin;D:\Program_Files\gradle-6.8.1\bin;D:\Program_Files\jdk-14.0.2\bin;C:\Program Files (x86)\Google\Chrome\Application\;D:\Program_Files\nodejs\npm_global;D:\Program_Files\nodejs\;C:\Users\GaoHuanjie\AppData\Roaming\npm;D:\Program_Files\Microsoft VS Code\bin;. 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.io.tmpdir=C:\Users\GAOHUA~1\AppData\Local\Temp\ 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.compiler= 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:os.name=Windows 8.1 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:os.arch=amd64 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:os.version=6.3 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:user.name=GaoHuanjie 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:user.home=C:\Users\GaoHuanjie 1962 [main] INFO org.apache.zookeeper.ZooKeeper - Client environment:user.dir=D:\dubbo-issue-8213 1963 [main] INFO org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=127.0.0.1:2181 sessionTimeout=60000 ***@***.*** 2054 [main-SendThread(127.0.0.1:2181)] INFO org.apache.zookeeper.ClientCnxn - Opening socket connection to server 127.0.0.1/:2181. Will not attempt to authenticate using SASL (unknown error) 2056 [main] INFO org.apache.curator.framework.imps.CuratorFrameworkImpl - Default schema 2058 [main-SendThread(127.0.0.1:2181)] WARN org.apache.zookeeper.ClientCnxn - Session 0x0 for server 127.0.0.1/:2181, unexpected error, closing socket connection and attempting reconnect java.nio.channels.UnresolvedAddressException at java.base/sun.nio.ch.Net.checkAddress(Net.java:139) at java.base/sun.nio.ch.SocketChannelImpl.checkRemote(SocketChannelImpl.java:727) at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:741) at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:277) at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:287) at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1021) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1064) 3162 [main-SendThread(127.0.0.1:2181)] INFO org.apache.zookeeper.ClientCnxn - Opening socket connection to server 127.0.0.1/:2181. Will not attempt to authenticate using SASL (unknown error) 3162 [main-SendThread(127.0.0.1:2181)] WARN org.apache.zookeeper.ClientCnxn - Session 0x0 for server 127.0.0.1/:2181, unexpected error, closing socket connection and attempting reconnect java.nio.channels.UnresolvedAddressException at java.base/sun.nio.ch.Net.checkAddress(Net.java:139) at java.base/sun.nio.ch.SocketChannelImpl.checkRemote(SocketChannelImpl.java:727) at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:741) at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:277) at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:287) at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1021) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1064) 4264 [main-SendThread(127.0.0.1:2181)] INFO org.apache.zookeeper.ClientCnxn - Opening socket connection to server 127.0.0.1/:2181. Will not attempt to authenticate using SASL (unknown error) 4264 [main-SendThread(127.0.0.1:2181)] WARN org.apache.zookeeper.ClientCnxn - Session 0x0 for server 127.0.0.1/:2181, unexpected error, closing socket connection and attempting reconnect java.nio.channels.UnresolvedAddressException at java.base/sun.nio.ch.Net.checkAddress(Net.java:139) at java.base/sun.nio.ch.SocketChannelImpl.checkRemote(SocketChannelImpl.java:727) at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:741) at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:277) at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:287) at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1021) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1064) Exception in thread "main" java.lang.IllegalStateException: zookeeper not connected at org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperClient.(CuratorZookeeperClient.java:87) at org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperTransporter.createZookeeperClient(CuratorZookeeperTransporter.java:26) at org.apache.dubbo.remoting.zookeeper.support.AbstractZookeeperTransporter.connect(AbstractZookeeperTransporter.java:71) at org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter$Adaptive.connect(ZookeeperTransporter$Adaptive.java) at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfiguration.(ZookeeperDynamicConfiguration.java:68) at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfigurationFactory.createDynamicConfiguration(ZookeeperDynamicConfigurationFactory.java:37) at org.apache.dubbo.common.config.configcenter.AbstractDynamicConfigurationFactory.lambda$getDynamicConfiguration$0(AbstractDynamicConfigurationFactory.java:39) at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) at org.apache.dubbo.common.config.configcenter.AbstractDynamicConfigurationFactory.getDynamicConfiguration(AbstractDynamicConfigurationFactory.java:39) at org.apache.dubbo.common.config.configcenter.DynamicConfiguration.getDynamicConfiguration(DynamicConfiguration.java:248) at org.apache.dubbo.config.bootstrap.DubboBootstrap.prepareEnvironment(DubboBootstrap.java:1238) at org.apache.dubbo.config.bootstrap.DubboBootstrap.startConfigCenter(DubboBootstrap.java:736) at org.apache.dubbo.config.bootstrap.DubboBootstrap.initialize(DubboBootstrap.java:552) at org.apache.dubbo.config.bootstrap.DubboBootstrap.start(DubboBootstrap.java:1085) at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onContextRefreshedEvent(DubboBootstrapApplicationListener.java:70) at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onApplicationContextEvent(DubboBootstrapApplicationListener.java:63) at com.alibaba.spring.context.OnceApplicationContextEventListener.onApplicationEvent(OnceApplicationContextEventListener.java:52) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:404) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:361) at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:898) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:554) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:144) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:85) at com.jd.test.ServiceProvider.main(ServiceProvider.java:11) Caused by: java.lang.IllegalStateException: zookeeper not connected at org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperClient.(CuratorZookeeperClient.java:84) ... 26 more [INFO ]-[2021-07-07 08:33:30] -org.apache.dubbo.config.DubboShutdownHook.run(DubboShutdownHook.java:61) - [DUBBO] Run shutdown hook now., dubbo version: 3.0.0, current host: 10.10.13.156 [INFO ]-[2021-07-07 08:33:30] -org.apache.dubbo.registry.support.AbstractRegistryFactory.destroyAll(AbstractRegistryFactory.java:94) - [DUBBO] Close all registries [], dubbo version: 3.0.0, current host: 10.10.13.156 [INFO ]-[2021-07-07 08:33:30] -org.apache.dubbo.config.bootstrap.DubboBootstrap.lambda$release$16(DubboBootstrap.java:1550) - [DUBBO] DubboBootstrap is about to shutdown..., dubbo version: 3.0.0, current host: 10.10.13.156 Process finished with exit code -1 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

怎么解决?

horizonzy commented 3 years ago

https://issues.apache.org/jira/browse/ZOOKEEPER-3779

You can upgrade your zookeeper version to 3.5.x or 3.6.x, I'm not sure that upgrade curator version together or not. We will research it detaily to decide shall we upgrade zookeeper version in dubbo.

kylixs commented 3 years ago

check about: https://github.com/apache/zookeeper/pull/1509 The zookeeper connection problem is not related to the topic, please create a new issue.

horizonzy commented 3 years ago

If your zookeeper server version is 3.4.x. You must use zookeeper version 3.4.x. The jdk compatible problem can't be solved.