干翻Dubbo系列第三篇:Dubbo技术栈中核心术语与第一个Dubbo3应用程序_because thread pool isolation is enabled on the du-程序员宅基地

技术标签: # Dubbo专栏  Dubbo应用程序  消费者  dubbo  提供者  Dubbo3  

请添加图片描述

一:代码结构和术语解释

provider 功能提供者
consumer 功能消费者
commons-api 通用内容 entity+service接口
registry 注册中心

注册中心的作用就是管理provider和consumer的集群的,方便后续的水平拓展。可以进行健康检查,检查provider是否可以正常健康,保证服务提供正常强大的服务。

二:Dubbo直连第一个Provider程序

1:Dubbo通用API和实体编写

@Data
@ToString
@NoArgsConstructor //
@AllArgsConstructor
public class User implements Serializable {
    
    private String name;
    private String password;
}

public interface UserService {
    
    public boolean login(String name, String password);
}

在这里插入图片描述

2:Dubbo中Provider编写

public class UserServiceImpl implements UserService {
    
    @Override
    public boolean login(String name, String password) {
    
        System.out.println("UserServiceImpl.login name " + name + " password " + password);
        return false;
    }
}

3:Dubbo中Provider配置网络通信

在XML当中配置Dubbo相关标签,保证可以跨虚拟机调用。

<?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应用起个名字
    <dubbo:application name="dubbo-02-provider"/>
	//指定通信网络协议和通信使用的端口。
	//dubbo是Dubbo默认的协议和默认的端口20880
    <dubbo:protocol name="dubbo" port="20880"/>
	
	//Spring在Provider当中帮我们创建对象
    <bean id="userService" class="com.suns.service.UserServiceImpl"/>
	//把这个对象发布成一个Dubbo服务,让Dubbo服务可以调用。ref指向一个对象。
    <dubbo:service interface="com.suns.service.UserService" ref="userService"/>
</beans>

两个疑问:
1:为毛第一个不用SpringBoot?
SpringBoot封装的太厉害了。使用SpringBoot封装的太厉害了,我们打个注解就好了,Spring能让我们看到大致的运行过程。

2:两个shema问题
在这里插入图片描述
当我们在xml当中预制这个标签的时候,会提示这两个schema标签,我们注意使用dubbo的那个。

3:这个标签的作用
这个标签的作用就是给Dubbo的应用起个名字,我们这个provider是一个Dubbo应用。将来这个名字会被注册中心管理,必须唯一,每一个dubbo的项目,消费者或者生产者都必须得有这个名字。

4:Provider当中创建一个启动类

public class ProviderMain {
    
    public static void main(String[] args) throws InterruptedException {
    
        ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext-provider.xml");
        applicationContext.start();
        
        //让主线程在这里阻塞。
        new CountDownLatch(1).await();
    }
}
22:45:01.717 [main] DEBUG org.springframework.context.support.ClassPathXmlApplicationContext - Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@65ae6ba4
22:45:02.507 [main] INFO org.apache.dubbo.rpc.model.FrameworkModel -  [DUBBO] Dubbo Framework[1] is created, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.536 [main] INFO org.apache.dubbo.common.resource.GlobalResourcesRepository -  [DUBBO] Creating global shared handler ..., dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.617 [main] INFO org.apache.dubbo.rpc.model.ApplicationModel -  [DUBBO] Dubbo Application[1.0](unknown) is created, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.618 [main] INFO org.apache.dubbo.rpc.model.ScopeModel -  [DUBBO] Dubbo Module[1.0.0] is created, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.637 [main] INFO org.apache.dubbo.config.context.AbstractConfigManager -  [DUBBO] Config settings: {
    dubbo.config.mode=STRICT, dubbo.config.ignore-duplicated-interface=false}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.639 [main] INFO org.apache.dubbo.config.context.AbstractConfigManager -  [DUBBO] Config settings: {
    dubbo.config.mode=STRICT, dubbo.config.ignore-duplicated-interface=false}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.655 [main] INFO org.apache.dubbo.common.utils.SerializeSecurityManager -  [DUBBO] Serialize check serializable: true, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.656 [main] INFO org.apache.dubbo.common.utils.SerializeSecurityConfigurator -  [DUBBO] Read serialize allow list from jar:file:/D:/maven/develop/org/apache/dubbo/dubbo/3.2.0/dubbo-3.2.0.jar!/security/serialize.allowlist, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.678 [main] INFO org.apache.dubbo.common.utils.SerializeSecurityConfigurator -  [DUBBO] Read serialize blocked list from jar:file:/D:/maven/develop/org/apache/dubbo/dubbo/3.2.0/dubbo-3.2.0.jar!/security/serialize.blockedlist, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.818 [main] INFO org.apache.dubbo.rpc.model.ApplicationModel -  [DUBBO] Dubbo Application[1.1](unknown) is created, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.819 [main] INFO org.apache.dubbo.rpc.model.ScopeModel -  [DUBBO] Dubbo Module[1.1.0] is created, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.825 [main] INFO org.apache.dubbo.config.context.AbstractConfigManager -  [DUBBO] Config settings: {
    dubbo.config.mode=STRICT, dubbo.config.ignore-duplicated-interface=false}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.826 [main] INFO org.apache.dubbo.config.context.AbstractConfigManager -  [DUBBO] Config settings: {
    dubbo.config.mode=STRICT, dubbo.config.ignore-duplicated-interface=false}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.828 [main] INFO org.apache.dubbo.common.utils.SerializeSecurityConfigurator -  [DUBBO] Read serialize allow list from jar:file:/D:/maven/develop/org/apache/dubbo/dubbo/3.2.0/dubbo-3.2.0.jar!/security/serialize.allowlist, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.829 [main] INFO org.apache.dubbo.common.utils.SerializeSecurityConfigurator -  [DUBBO] Read serialize blocked list from jar:file:/D:/maven/develop/org/apache/dubbo/dubbo/3.2.0/dubbo-3.2.0.jar!/security/serialize.blockedlist, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.836 [main] INFO org.apache.dubbo.config.spring.context.DubboSpringInitializer -  [DUBBO] Use default application: Dubbo Application[1.1](unknown), dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.837 [main] INFO org.apache.dubbo.rpc.model.ScopeModel -  [DUBBO] Dubbo Module[1.1.1] is created, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.838 [main] INFO org.apache.dubbo.config.context.AbstractConfigManager -  [DUBBO] Config settings: {
    dubbo.config.mode=STRICT, dubbo.config.ignore-duplicated-interface=false}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.839 [main] INFO org.apache.dubbo.common.utils.SerializeSecurityConfigurator -  [DUBBO] Read serialize allow list from jar:file:/D:/maven/develop/org/apache/dubbo/dubbo/3.2.0/dubbo-3.2.0.jar!/security/serialize.allowlist, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.840 [main] INFO org.apache.dubbo.common.utils.SerializeSecurityConfigurator -  [DUBBO] Read serialize blocked list from jar:file:/D:/maven/develop/org/apache/dubbo/dubbo/3.2.0/dubbo-3.2.0.jar!/security/serialize.blockedlist, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.841 [main] INFO org.apache.dubbo.config.spring.context.DubboSpringInitializer -  [DUBBO] Use default module model of target application: Dubbo Module[1.1.1], dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.841 [main] INFO org.apache.dubbo.config.spring.context.DubboSpringInitializer -  [DUBBO] Bind Dubbo Module[1.1.1] to spring container: org.springframework.beans.factory.support.DefaultListableBeanFactory@5a8806ef, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:02.842 [main] DEBUG org.apache.dubbo.config.spring.util.DubboBeanUtils - The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.beans.factory.annotation.ServicePackagesHolder]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [dubboServicePackagesHolder] has been registered.
22:45:02.844 [main] DEBUG org.apache.dubbo.config.spring.util.DubboBeanUtils - The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.reference.ReferenceBeanManager]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [dubboReferenceBeanManager] has been registered.
22:45:02.845 [main] DEBUG org.apache.dubbo.config.spring.util.DubboBeanUtils - The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [referenceAnnotationBeanPostProcessor] has been registered.
22:45:02.845 [main] DEBUG org.apache.dubbo.config.spring.util.DubboBeanUtils - The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.beans.factory.annotation.DubboConfigAliasPostProcessor]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [dubboConfigAliasPostProcessor] has been registered.
22:45:02.846 [main] DEBUG org.apache.dubbo.config.spring.util.DubboBeanUtils - The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.context.DubboDeployApplicationListener]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [org.apache.dubbo.config.spring.context.DubboDeployApplicationListener] has been registered.
22:45:02.847 [main] DEBUG org.apache.dubbo.config.spring.util.DubboBeanUtils - The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.context.DubboConfigApplicationListener]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [org.apache.dubbo.config.spring.context.DubboConfigApplicationListener] has been registered.
22:45:02.848 [main] DEBUG org.apache.dubbo.config.spring.util.DubboBeanUtils - The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.beans.factory.config.DubboConfigDefaultPropertyValueBeanPostProcessor]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [dubboConfigDefaultPropertyValueBeanPostProcessor] has been registered.
22:45:02.849 [main] DEBUG org.apache.dubbo.config.spring.util.DubboBeanUtils - The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.context.DubboConfigBeanInitializer]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [dubboConfigBeanInitializer] has been registered.
22:45:02.850 [main] DEBUG org.apache.dubbo.config.spring.util.DubboBeanUtils - The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.context.DubboInfraBeanRegisterPostProcessor]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [dubboInfraBeanRegisterPostProcessor] has been registered.
22:45:02.861 [main] DEBUG org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loaded 18 bean definitions from class path resource [applicationContext-provider.xml]
22:45:02.878 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.annotation.internalConfigurationAnnotationProcessor'
22:45:02.925 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'dubboConfigAliasPostProcessor'
22:45:02.925 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'dubboInfraBeanRegisterPostProcessor'
22:45:02.927 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'referenceAnnotationBeanPostProcessor'
22:45:02.929 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'dubboReferenceBeanManager'
22:45:02.932 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.support.PropertySourcesPlaceholderConfigurer'
22:45:02.968 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.event.internalEventListenerProcessor'
22:45:02.969 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.event.internalEventListenerFactory'
22:45:03.001 [main] INFO org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor -  [DUBBO] class org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor was destroying!, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.004 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.annotation.internalAutowiredAnnotationProcessor'
22:45:03.004 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.annotation.internalCommonAnnotationProcessor'
22:45:03.007 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'dubboConfigDefaultPropertyValueBeanPostProcessor'
22:45:03.010 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.apache.dubbo.config.spring.context.DubboConfigApplicationListener'
22:45:03.015 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'dubboConfigBeanInitializer'
22:45:03.030 [main] INFO org.apache.dubbo.config.spring.context.DubboConfigBeanInitializer -  [DUBBO] loading dubbo config beans ..., dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.030 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'dubbo-02-provider'
22:45:03.048 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'dubbo'
22:45:03.064 [main] INFO org.apache.dubbo.config.spring.context.DubboConfigBeanInitializer -  [DUBBO] dubbo config beans are loaded., dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.069 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ConfigCenterConfig with prefix [dubbo.config-center], extracted props: {
    }, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.074 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ApplicationConfig[id=dubbo-02-provider] with prefix [dubbo.applications.dubbo-02-provider], extracted props: {
    id=dubbo-02-provider, name=dubbo-02-provider}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.102 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ProtocolConfig[id=dubbo] with prefix [dubbo.protocols.dubbo], extracted props: {
    name=dubbo, id=dubbo, port=20880}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.110 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing SslConfig with prefix [dubbo.ssl], extracted props: {
    }, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.111 [main] INFO org.apache.dubbo.config.context.ConfigManager -  [DUBBO] The current configurations or effective configurations are as follows:, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.111 [main] INFO org.apache.dubbo.config.context.ConfigManager -  [DUBBO] <dubbo:application enableFileCache="true" executorManagementMode="isolation" parameters="{}" name="dubbo-02-provider" id="dubbo-02-provider" protocol="dubbo" />, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.111 [main] INFO org.apache.dubbo.config.context.ConfigManager -  [DUBBO] <dubbo:protocol preferSerialization="fastjson2,hessian2" port="20880" name="dubbo" id="dubbo" />, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.112 [main] INFO org.apache.dubbo.config.context.ConfigManager -  [DUBBO] <dubbo:ssl />, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.120 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ProviderConfig with prefix [dubbo.provider], extracted props: {
    }, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.126 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ConsumerConfig with prefix [dubbo.consumer], extracted props: {
    }, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.129 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ModuleConfig with prefix [dubbo.module], extracted props: {
    }, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.130 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ModuleConfig with prefix [dubbo.module], extracted props: {
    background=false}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.135 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ProviderConfig with prefix [dubbo.provider], extracted props: {
    deprecated=false, dynamic=true}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.136 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ConsumerConfig with prefix [dubbo.consumer], extracted props: {
    sticky=false}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.137 [main] INFO org.apache.dubbo.config.deploy.DefaultModuleDeployer -  [DUBBO] Dubbo Module[1.1.0] has been initialized!, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.142 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ProviderConfig with prefix [dubbo.provider], extracted props: {
    }, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.144 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ConsumerConfig with prefix [dubbo.consumer], extracted props: {
    }, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.145 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ModuleConfig with prefix [dubbo.module], extracted props: {
    }, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.146 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ModuleConfig with prefix [dubbo.module], extracted props: {
    background=false}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.147 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ProviderConfig with prefix [dubbo.provider], extracted props: {
    deprecated=false, dynamic=true}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.148 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ConsumerConfig with prefix [dubbo.consumer], extracted props: {
    sticky=false}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.148 [main] INFO org.apache.dubbo.config.deploy.DefaultModuleDeployer -  [DUBBO] Dubbo Module[1.1.1] has been initialized!, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.151 [main] INFO org.apache.dubbo.config.deploy.DefaultApplicationDeployer -  [DUBBO] Dubbo Application[1.1](dubbo-02-provider) has been initialized!, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.151 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'dubboServicePackagesHolder'
22:45:03.152 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.apache.dubbo.config.spring.context.DubboDeployApplicationListener'
22:45:03.154 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'userService'
22:45:03.155 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.apache.dubbo.config.spring.ServiceBean#0'
22:45:03.194 [main] DEBUG org.apache.dubbo.common.extension.AdaptiveClassCodeGenerator -  [DUBBO] package org.apache.dubbo.rpc;
import org.apache.dubbo.rpc.model.ScopeModel;
import org.apache.dubbo.rpc.model.ScopeModelUtil;
public class Protocol$Adaptive implements org.apache.dubbo.rpc.Protocol {
    
public void destroy()  {
    
throw new UnsupportedOperationException("The method public abstract void org.apache.dubbo.rpc.Protocol.destroy() of interface org.apache.dubbo.rpc.Protocol is not adaptive method!");
}
public int getDefaultPort()  {
    
throw new UnsupportedOperationException("The method public abstract int org.apache.dubbo.rpc.Protocol.getDefaultPort() of interface org.apache.dubbo.rpc.Protocol is not adaptive method!");
}
public org.apache.dubbo.rpc.Invoker refer(java.lang.Class arg0, org.apache.dubbo.common.URL arg1) throws org.apache.dubbo.rpc.RpcException {
    
if (arg1 == null) throw new IllegalArgumentException("url == null");
org.apache.dubbo.common.URL url = arg1;
String extName = ( url.getProtocol() == null ? "dubbo" : url.getProtocol() );
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.rpc.Protocol) name from url (" + url.toString() + ") use keys([protocol])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.rpc.Protocol.class);
org.apache.dubbo.rpc.Protocol extension = (org.apache.dubbo.rpc.Protocol)scopeModel.getExtensionLoader(org.apache.dubbo.rpc.Protocol.class).getExtension(extName);
return extension.refer(arg0, arg1);
}
public org.apache.dubbo.rpc.Exporter export(org.apache.dubbo.rpc.Invoker arg0) throws org.apache.dubbo.rpc.RpcException {
    
if (arg0 == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.Invoker argument == null");
if (arg0.getUrl() == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.Invoker argument getUrl() == null");
org.apache.dubbo.common.URL url = arg0.getUrl();
String extName = ( url.getProtocol() == null ? "dubbo" : url.getProtocol() );
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.rpc.Protocol) name from url (" + url.toString() + ") use keys([protocol])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.rpc.Protocol.class);
org.apache.dubbo.rpc.Protocol extension = (org.apache.dubbo.rpc.Protocol)scopeModel.getExtensionLoader(org.apache.dubbo.rpc.Protocol.class).getExtension(extName);
return extension.export(arg0);
}
public java.util.List getServers()  {
    
throw new UnsupportedOperationException("The method public default java.util.List org.apache.dubbo.rpc.Protocol.getServers() of interface org.apache.dubbo.rpc.Protocol is not adaptive method!");
}
}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.311 [main] DEBUG org.apache.dubbo.common.extension.AdaptiveClassCodeGenerator -  [DUBBO] package org.apache.dubbo.rpc;
import org.apache.dubbo.rpc.model.ScopeModel;
import org.apache.dubbo.rpc.model.ScopeModelUtil;
public class ProxyFactory$Adaptive implements org.apache.dubbo.rpc.ProxyFactory {
    
public org.apache.dubbo.rpc.Invoker getInvoker(java.lang.Object arg0, java.lang.Class arg1, org.apache.dubbo.common.URL arg2) throws org.apache.dubbo.rpc.RpcException {
    
if (arg2 == null) throw new IllegalArgumentException("url == null");
org.apache.dubbo.common.URL url = arg2;
String extName = url.getParameter("proxy", "javassist");
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.rpc.ProxyFactory) name from url (" + url.toString() + ") use keys([proxy])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.rpc.ProxyFactory.class);
org.apache.dubbo.rpc.ProxyFactory extension = (org.apache.dubbo.rpc.ProxyFactory)scopeModel.getExtensionLoader(org.apache.dubbo.rpc.ProxyFactory.class).getExtension(extName);
return extension.getInvoker(arg0, arg1, arg2);
}
public java.lang.Object getProxy(org.apache.dubbo.rpc.Invoker arg0, boolean arg1) throws org.apache.dubbo.rpc.RpcException {
    
if (arg0 == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.Invoker argument == null");
if (arg0.getUrl() == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.Invoker argument getUrl() == null");
org.apache.dubbo.common.URL url = arg0.getUrl();
String extName = url.getParameter("proxy", "javassist");
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.rpc.ProxyFactory) name from url (" + url.toString() + ") use keys([proxy])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.rpc.ProxyFactory.class);
org.apache.dubbo.rpc.ProxyFactory extension = (org.apache.dubbo.rpc.ProxyFactory)scopeModel.getExtensionLoader(org.apache.dubbo.rpc.ProxyFactory.class).getExtension(extName);
return extension.getProxy(arg0, arg1);
}
public java.lang.Object getProxy(org.apache.dubbo.rpc.Invoker arg0) throws org.apache.dubbo.rpc.RpcException {
    
if (arg0 == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.Invoker argument == null");
if (arg0.getUrl() == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.Invoker argument getUrl() == null");
org.apache.dubbo.common.URL url = arg0.getUrl();
String extName = url.getParameter("proxy", "javassist");
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.rpc.ProxyFactory) name from url (" + url.toString() + ") use keys([proxy])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.rpc.ProxyFactory.class);
org.apache.dubbo.rpc.ProxyFactory extension = (org.apache.dubbo.rpc.ProxyFactory)scopeModel.getExtensionLoader(org.apache.dubbo.rpc.ProxyFactory.class).getExtension(extName);
return extension.getProxy(arg0);
}
}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.359 [main] INFO org.apache.dubbo.config.deploy.DefaultModuleDeployer -  [DUBBO] Dubbo Module[1.1.1] is starting., dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.360 [main] INFO org.apache.dubbo.config.deploy.DefaultApplicationDeployer -  [DUBBO] Dubbo Application[1.1](dubbo-02-provider) is starting., dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.361 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ServiceBean with prefix [dubbo.service], extracted props: {
    path=com.suns.service.UserService, interface=com.suns.service.UserService, deprecated=false, dynamic=true}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.362 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ServiceBean with prefix [dubbo.service.com.suns.service.UserService], extracted props: {
    interface=com.suns.service.UserService, path=com.suns.service.UserService, dynamic=true, deprecated=false}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.409 [main] DEBUG org.apache.dubbo.config.ServiceConfig -  [DUBBO] No valid ip found from environment, try to get local host., dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.958 [main] DEBUG org.apache.dubbo.common.extension.AdaptiveClassCodeGenerator -  [DUBBO] package org.apache.dubbo.monitor;
import org.apache.dubbo.rpc.model.ScopeModel;
import org.apache.dubbo.rpc.model.ScopeModelUtil;
public class MonitorFactory$Adaptive implements org.apache.dubbo.monitor.MonitorFactory {
    
public org.apache.dubbo.monitor.Monitor getMonitor(org.apache.dubbo.common.URL arg0)  {
    
if (arg0 == null) throw new IllegalArgumentException("url == null");
org.apache.dubbo.common.URL url = arg0;
String extName = ( url.getProtocol() == null ? "dubbo" : url.getProtocol() );
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.monitor.MonitorFactory) name from url (" + url.toString() + ") use keys([protocol])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.monitor.MonitorFactory.class);
org.apache.dubbo.monitor.MonitorFactory extension = (org.apache.dubbo.monitor.MonitorFactory)scopeModel.getExtensionLoader(org.apache.dubbo.monitor.MonitorFactory.class).getExtension(extName);
return extension.getMonitor(arg0);
}
}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:03.975 [main] DEBUG io.netty.util.internal.logging.InternalLoggerFactory - Using SLF4J as the default logging framework
22:45:03.988 [main] DEBUG io.netty.channel.MultithreadEventLoopGroup - -Dio.netty.eventLoopThreads: 16
22:45:03.995 [main] DEBUG io.netty.util.concurrent.GlobalEventExecutor - -Dio.netty.globalEventExecutor.quietPeriodSeconds: 1
22:45:04.000 [main] DEBUG io.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.initialSize: 1024
22:45:04.000 [main] DEBUG io.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.maxSize: 4096
22:45:04.011 [main] DEBUG io.netty.util.internal.PlatformDependent0 - -Dio.netty.noUnsafe: false
22:45:04.013 [main] DEBUG io.netty.util.internal.PlatformDependent0 - Java version: 8
22:45:04.013 [main] DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.theUnsafe: available
22:45:04.013 [main] DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.copyMemory: available
22:45:04.013 [main] DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.storeFence: available
22:45:04.013 [main] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Buffer.address: available
22:45:04.013 [main] DEBUG io.netty.util.internal.PlatformDependent0 - direct buffer constructor: available
22:45:04.014 [main] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Bits.unaligned: available, true
22:45:04.014 [main] DEBUG io.netty.util.internal.PlatformDependent0 - jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable prior to Java9
22:45:04.014 [main] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.DirectByteBuffer.<init>(long, int): available
22:45:04.014 [main] DEBUG io.netty.util.internal.PlatformDependent - sun.misc.Unsafe: available
22:45:04.014 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.tmpdir: C:\Users\ADMINI~1\AppData\Local\Temp (java.io.tmpdir)
22:45:04.014 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.bitMode: 64 (sun.arch.data.model)
22:45:04.014 [main] DEBUG io.netty.util.internal.PlatformDependent - Platform: Windows
22:45:04.015 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.maxDirectMemory: 3771203584 bytes
22:45:04.015 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.uninitializedArrayAllocationThreshold: -1
22:45:04.015 [main] DEBUG io.netty.util.internal.CleanerJava6 - java.nio.ByteBuffer.cleaner(): available
22:45:04.015 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.noPreferDirect: false
22:45:04.016 [main] DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.noKeySetOptimization: false
22:45:04.016 [main] DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.selectorAutoRebuildThreshold: 512
22:45:04.020 [main] DEBUG io.netty.util.internal.PlatformDependent - org.jctools-core.MpscChunkedArrayQueue: available
22:45:04.288 [main] DEBUG io.netty.channel.DefaultChannelId - -Dio.netty.processId: 11488 (auto-detected)
22:45:04.290 [main] DEBUG io.netty.util.NetUtil - -Djava.net.preferIPv4Stack: false
22:45:04.290 [main] DEBUG io.netty.util.NetUtil - -Djava.net.preferIPv6Addresses: false
22:45:04.486 [main] DEBUG io.netty.util.NetUtilInitializations - Loopback interface: lo (Software Loopback Interface 1, 127.0.0.1)
22:45:04.488 [main] DEBUG io.netty.util.NetUtil - Failed to get SOMAXCONN from sysctl and file \proc\sys\net\core\somaxconn. Default: 200
22:45:04.509 [main] DEBUG io.netty.channel.DefaultChannelId - -Dio.netty.machineId: 00:50:56:ff:fe:c0:00:08 (auto-detected)
22:45:04.517 [main] DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.level: simple
22:45:04.517 [main] DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.targetRecords: 4
22:45:04.532 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.numHeapArenas: 16
22:45:04.534 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.numDirectArenas: 16
22:45:04.534 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.pageSize: 8192
22:45:04.534 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxOrder: 9
22:45:04.534 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.chunkSize: 4194304
22:45:04.534 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.smallCacheSize: 256
22:45:04.534 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.normalCacheSize: 64
22:45:04.534 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxCachedBufferCapacity: 32768
22:45:04.534 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.cacheTrimInterval: 8192
22:45:04.534 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.cacheTrimIntervalMillis: 0
22:45:04.534 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.useCacheForAllThreads: false
22:45:04.534 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxCachedByteBuffersPerChunk: 1023
22:45:04.540 [main] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.allocator.type: pooled
22:45:04.540 [main] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.threadLocalDirectBufferSize: 0
22:45:04.540 [main] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.maxThreadLocalCharBufferSize: 16384
22:45:04.549 [main] INFO org.apache.dubbo.qos.server.Server -  [DUBBO] qos-server bind localhost:22222, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.559 [main] INFO org.apache.dubbo.config.ServiceConfig -  [DUBBO] Export dubbo service com.suns.service.UserService to local registry url : injvm://127.0.0.1/com.suns.service.UserService?anyhost=true&application=dubbo-02-provider&background=false&bind.ip=192.168.8.1&bind.port=20880&deprecated=false&dubbo=2.0.2&dynamic=true&executor-management-mode=isolation&exporter.listener=injvm&file-cache=true&generic=false&interface=com.suns.service.UserService&methods=login&pid=11488&prefer.serialization=fastjson2,hessian2&release=3.2.0&side=provider&timestamp=1689000303403, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.559 [main] INFO org.apache.dubbo.config.ServiceConfig -  [DUBBO] Export dubbo service com.suns.service.UserService to url dubbo://192.168.8.1:20880/com.suns.service.UserService?anyhost=true&application=dubbo-02-provider&background=false&bind.ip=192.168.8.1&bind.port=20880&deprecated=false&dubbo=2.0.2&dynamic=true&executor-management-mode=isolation&file-cache=true&generic=false&interface=com.suns.service.UserService&methods=login&pid=11488&prefer.serialization=fastjson2,hessian2&release=3.2.0&side=provider&timestamp=1689000303403, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.572 [main] DEBUG org.apache.dubbo.common.extension.AdaptiveClassCodeGenerator -  [DUBBO] package org.apache.dubbo.remoting;
import org.apache.dubbo.rpc.model.ScopeModel;
import org.apache.dubbo.rpc.model.ScopeModelUtil;
public class Transporter$Adaptive implements org.apache.dubbo.remoting.Transporter {
    
public org.apache.dubbo.remoting.Client connect(org.apache.dubbo.common.URL arg0, org.apache.dubbo.remoting.ChannelHandler arg1) throws org.apache.dubbo.remoting.RemotingException {
    
if (arg0 == null) throw new IllegalArgumentException("url == null");
org.apache.dubbo.common.URL url = arg0;
String extName = url.getParameter("client", url.getParameter("transporter", "netty"));
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.remoting.Transporter) name from url (" + url.toString() + ") use keys([client, transporter])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.remoting.Transporter.class);
org.apache.dubbo.remoting.Transporter extension = (org.apache.dubbo.remoting.Transporter)scopeModel.getExtensionLoader(org.apache.dubbo.remoting.Transporter.class).getExtension(extName);
return extension.connect(arg0, arg1);
}
public org.apache.dubbo.remoting.RemotingServer bind(org.apache.dubbo.common.URL arg0, org.apache.dubbo.remoting.ChannelHandler arg1) throws org.apache.dubbo.remoting.RemotingException {
    
if (arg0 == null) throw new IllegalArgumentException("url == null");
org.apache.dubbo.common.URL url = arg0;
String extName = url.getParameter("server", url.getParameter("transporter", "netty"));
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.remoting.Transporter) name from url (" + url.toString() + ") use keys([server, transporter])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.remoting.Transporter.class);
org.apache.dubbo.remoting.Transporter extension = (org.apache.dubbo.remoting.Transporter)scopeModel.getExtensionLoader(org.apache.dubbo.remoting.Transporter.class).getExtension(extName);
return extension.bind(arg0, arg1);
}
}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.588 [main] DEBUG org.apache.dubbo.common.extension.AdaptiveClassCodeGenerator -  [DUBBO] package org.apache.dubbo.remoting;
import org.apache.dubbo.rpc.model.ScopeModel;
import org.apache.dubbo.rpc.model.ScopeModelUtil;
public class Dispatcher$Adaptive implements org.apache.dubbo.remoting.Dispatcher {
    
public org.apache.dubbo.remoting.ChannelHandler dispatch(org.apache.dubbo.remoting.ChannelHandler arg0, org.apache.dubbo.common.URL arg1)  {
    
if (arg1 == null) throw new IllegalArgumentException("url == null");
org.apache.dubbo.common.URL url = arg1;
String extName = url.getParameter("dispatcher", url.getParameter("dispather", url.getParameter("channel.handler", "all")));
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.remoting.Dispatcher) name from url (" + url.toString() + ") use keys([dispatcher, dispather, channel.handler])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.remoting.Dispatcher.class);
org.apache.dubbo.remoting.Dispatcher extension = (org.apache.dubbo.remoting.Dispatcher)scopeModel.getExtensionLoader(org.apache.dubbo.remoting.Dispatcher.class).getExtension(extName);
return extension.dispatch(arg0, arg1);
}
}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.618 [main] INFO org.apache.dubbo.remoting.transport.AbstractServer -  [DUBBO] Start NettyServer bind /0.0.0.0:20880, export /192.168.8.1:20880, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.623 [main] DEBUG org.apache.dubbo.common.extension.AdaptiveClassCodeGenerator -  [DUBBO] package org.apache.dubbo.common.threadpool;
import org.apache.dubbo.rpc.model.ScopeModel;
import org.apache.dubbo.rpc.model.ScopeModelUtil;
public class ThreadPool$Adaptive implements org.apache.dubbo.common.threadpool.ThreadPool {
    
public java.util.concurrent.Executor getExecutor(org.apache.dubbo.common.URL arg0)  {
    
if (arg0 == null) throw new IllegalArgumentException("url == null");
org.apache.dubbo.common.URL url = arg0;
String extName = url.getParameter("threadpool", "fixed");
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.common.threadpool.ThreadPool) name from url (" + url.toString() + ") use keys([threadpool])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.common.threadpool.ThreadPool.class);
org.apache.dubbo.common.threadpool.ThreadPool extension = (org.apache.dubbo.common.threadpool.ThreadPool)scopeModel.getExtensionLoader(org.apache.dubbo.common.threadpool.ThreadPool.class).getExtension(extName);
return extension.getExecutor(arg0);
}
}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.630 [main] WARN org.apache.dubbo.registry.client.metadata.MetadataUtils -  [DUBBO] Remote Metadata Report Server is not provided or unavailable, will stop registering service definition to remote center!, dubbo version: 3.2.0, current host: 192.168.8.1, error code: 1-39. This may be caused by , go to https://dubbo.apache.org/faq/1/39 to find instructions. 
22:45:04.631 [main] INFO org.apache.dubbo.config.deploy.DefaultModuleDeployer -  [DUBBO] Dubbo Module[1.1.0] is starting., dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.631 [main] INFO org.apache.dubbo.config.deploy.DefaultModuleDeployer -  [DUBBO] Dubbo Module[1.1.0] has started., dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.631 [main] INFO org.apache.dubbo.config.deploy.DefaultModuleDeployer -  [DUBBO] Dubbo Module[1.1.1] has started., dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.631 [main] INFO org.apache.dubbo.config.deploy.DefaultMetricsServiceExporter -  [DUBBO] The MetricsConfig not exist, will not export metrics service., dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.635 [main] INFO org.apache.dubbo.config.bootstrap.builders.InternalServiceConfigBuilder -  [DUBBO] org.apache.dubbo.metadata.MetadataServiceService Port hasn't been set will use default protocol defined in protocols., dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.636 [main] INFO org.apache.dubbo.config.bootstrap.builders.InternalServiceConfigBuilder -  [DUBBO] Using dubbo protocol to export org.apache.dubbo.metadata.MetadataService service on port 20880, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.642 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ServiceConfig with prefix [dubbo.service], extracted props: {
    group=dubbo-02-provider, register=false, interface=org.apache.dubbo.metadata.MetadataService, deprecated=false, dynamic=true, version=1.0.0, delay=0}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.648 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing MethodConfig[name=getAndListenInstanceMetadata] with prefix [dubbo.service.getAndListenInstanceMetadata], extracted props: {
    name=getAndListenInstanceMetadata}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.651 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ServiceConfig with prefix [dubbo.service.org.apache.dubbo.metadata.MetadataService], extracted props: {
    version=1.0.0, interface=org.apache.dubbo.metadata.MetadataService, deprecated=false, group=dubbo-02-provider, register=false, dynamic=true, delay=0}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.653 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing MethodConfig[name=getAndListenInstanceMetadata] with prefix [dubbo.service.org.apache.dubbo.metadata.MetadataService.getAndListenInstanceMetadata], extracted props: {
    sent=true, name=getAndListenInstanceMetadata, return=true}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.657 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing RegistryConfig[id=internal-metadata-registry] with prefix [dubbo.registries.internal-metadata-registry], extracted props: {
    port=0, id=internal-metadata-registry, address=N/A}, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.662 [main] DEBUG org.apache.dubbo.config.ServiceConfig -  [DUBBO] No valid ip found from environment, try to get local host., dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.685 [main] INFO org.apache.dubbo.config.ServiceConfig -  [DUBBO] Export dubbo service org.apache.dubbo.metadata.MetadataService to local registry url : injvm://127.0.0.1/org.apache.dubbo.metadata.MetadataService?anyhost=true&application=dubbo-02-provider&background=false&bind.ip=192.168.8.1&bind.port=20880&delay=0&deprecated=false&dubbo=2.0.2&dynamic=true&executor-management-mode=isolation&exporter.listener=injvm&file-cache=true&generic=false&getAndListenInstanceMetadata.1.callback=true&getAndListenInstanceMetadata.return=true&getAndListenInstanceMetadata.sent=true&group=dubbo-02-provider&interface=org.apache.dubbo.metadata.MetadataService&methods=exportInstanceMetadata,getAndListenInstanceMetadata,getExportedServiceURLs,getExportedURLs,getExportedURLs,getExportedURLs,getExportedURLs,getExportedURLs,getInstanceMetadataChangedListenerMap,getMetadataInfo,getMetadataInfos,getMetadataURL,getServiceDefinition,getServiceDefinition,getSubscribedURLs,isMetadataService,serviceName,toSortedStrings,toSortedStrings,version&pid=11488&prefer.serialization=fastjson2,hessian2&register=false&release=3.2.0&revision=3.2.0&side=provider&timestamp=1689000304658&version=1.0.0, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.685 [main] INFO org.apache.dubbo.config.ServiceConfig -  [DUBBO] Export dubbo service org.apache.dubbo.metadata.MetadataService to url dubbo://192.168.8.1:20880/org.apache.dubbo.metadata.MetadataService?anyhost=true&application=dubbo-02-provider&background=false&bind.ip=192.168.8.1&bind.port=20880&delay=0&deprecated=false&dubbo=2.0.2&dynamic=true&executor-management-mode=isolation&file-cache=true&generic=false&getAndListenInstanceMetadata.1.callback=true&getAndListenInstanceMetadata.return=true&getAndListenInstanceMetadata.sent=true&group=dubbo-02-provider&interface=org.apache.dubbo.metadata.MetadataService&methods=exportInstanceMetadata,getAndListenInstanceMetadata,getExportedServiceURLs,getExportedURLs,getExportedURLs,getExportedURLs,getExportedURLs,getExportedURLs,getInstanceMetadataChangedListenerMap,getMetadataInfo,getMetadataInfos,getMetadataURL,getServiceDefinition,getServiceDefinition,getSubscribedURLs,isMetadataService,serviceName,toSortedStrings,toSortedStrings,version&pid=11488&prefer.serialization=fastjson2,hessian2&register=false&release=3.2.0&revision=3.2.0&side=provider&timestamp=1689000304658&version=1.0.0, dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.688 [main] INFO org.apache.dubbo.config.metadata.ConfigurableMetadataServiceExporter -  [DUBBO] The MetadataService exports urls : [dubbo://192.168.8.1:20880/org.apache.dubbo.metadata.MetadataService?anyhost=true&application=dubbo-02-provider&background=false&bind.ip=192.168.8.1&bind.port=20880&delay=0&deprecated=false&dubbo=2.0.2&dynamic=true&executor-management-mode=isolation&file-cache=true&generic=false&getAndListenInstanceMetadata.1.callback=true&getAndListenInstanceMetadata.return=true&getAndListenInstanceMetadata.sent=true&group=dubbo-02-provider&interface=org.apache.dubbo.metadata.MetadataService&methods=exportInstanceMetadata,getAndListenInstanceMetadata,getExportedServiceURLs,getExportedURLs,getExportedURLs,getExportedURLs,getExportedURLs,getExportedURLs,getInstanceMetadataChangedListenerMap,getMetadataInfo,getMetadataInfos,getMetadataURL,getServiceDefinition,getServiceDefinition,getSubscribedURLs,isMetadataService,serviceName,toSortedStrings,toSortedStrings,version&pid=11488&prefer.serialization=fastjson2,hessian2&register=false&release=3.2.0&revision=3.2.0&side=provider&timestamp=1689000304658&version=1.0.0], dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.690 [main] INFO org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataUtils -  [DUBBO] Start registering instance address to registry., dubbo version: 3.2.0, current host: 192.168.8.1
22:45:04.695 [main] INFO org.apache.dubbo.config.deploy.DefaultApplicationDeployer -  [DUBBO] Dubbo Application[1.1](dubbo-02-provider) is ready., dubbo version: 3.2.0, current host: 192.168.8.1

最核心的是最后一行,最后一行一出现,代表我们的Dubbo服务一定启动好,可以对外提供服务了

关键日志分析:

22:45:04.559 [main] INFO org.apache.dubbo.config.ServiceConfig -  [DUBBO] Export dubbo service com.suns.service.UserService to url dubbo://192.168.8.1:20880/com.suns.service.UserService

Export 导出、暴露 Dubbo服务这个接口到如下的URL地址:dubbo是协议名:ip端口号,后边是具体的接口地址。

Provider开发到此结束。

三:Dubbo直连第一个Consumer程序

1:引入公共的API依赖

    <dependencies>
        <dependency>
            <groupId>com.suns</groupId>
            <artifactId>dubbo-01-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

2:暴露Dubbo服务

所有的Dubbo应用都需要有这么一个名字

<?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="dubbo-03-consuemer"/>
    <!--id指定的指定是消费者里边获取远端的服务的一个ID-->
    <dubbo:reference interface="com.suns.service.UserService" id="userService"             url="dubbo://192.168.50.62:20880/com.suns.service.UserService"/>
</beans>

到此获取远端的RPC能力已经提供好了。

3:编写测试接口

public class ClientApplication {
    
    public static void main(String[] args) throws IOException {
    
        ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext-consumer.xml");
        UserService userService = (UserService) applicationContext.getBean("userService");

        boolean ret = userService.login("xiaohei", "123456");
        System.out.println("ret = " + ret);
        System.in.read();

    }
}
        UserService userService = (UserService) applicationContext.getBean("userService");

这行代码可以可知,消费者里边也是产生了一个userService对象放到了Spring容器Bean中。

四:展示一下跨虚拟机调用的结果

1:服务端日志

22:24:31.473 [NettyServerWorker-5-2] INFO org.apache.dubbo.remoting.transport.netty4.NettyServerHandler -  [DUBBO] The connection of /192.168.8.1:58223 -> /192.168.8.1:20880 is established., dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.758 [NettyServerWorker-5-2] INFO org.apache.dubbo.rpc.protocol.dubbo.DubboCodec -  [DUBBO] Because thread pool isolation is enabled on the dubbo protocol, the body can only be decoded on the io thread, and the parameter[decode.in.io.thread] will be ignored, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.800 [NettyServerWorker-5-2] DEBUG io.netty.channel.DefaultChannelPipeline - Discarded inbound message Request [id=0, version=2.0.2, twoWay=true, event=false, broken=false, mPayload=240, data=RpcInvocation [methodName=login, parameterTypes=[class java.lang.String, class java.lang.String]]] that reached at the tail of the pipeline. Please check your pipeline configuration.
22:24:31.800 [DubboServerHandler-192.168.8.1:20880-thread-4] DEBUG org.apache.dubbo.remoting.transport.DecodeHandler -  [DUBBO] Decode decodeable message org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcInvocation, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.806 [NettyServerWorker-5-2] DEBUG io.netty.channel.DefaultChannelPipeline - Discarded message pipeline : [decoder, encoder, server-idle-handler, handler, DefaultChannelPipeline$TailContext#0]. Channel : [id: 0x9705d31c, L:/192.168.8.1:20880 - R:/192.168.8.1:58223].
UserServiceImpl.login name xiaohei password 123456

2:客户端日志

D:\soft\jdk\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.2.2\lib\idea_rt.jar=58162:C:\Program Files\JetBrains\IntelliJ IDEA 2020.2.2\bin" -Dfile.encoding=UTF-8 -classpath D:\soft\jdk\jre\lib\charsets.jar;D:\soft\jdk\jre\lib\deploy.jar;D:\soft\jdk\jre\lib\ext\access-bridge-64.jar;D:\soft\jdk\jre\lib\ext\cldrdata.jar;D:\soft\jdk\jre\lib\ext\dnsns.jar;D:\soft\jdk\jre\lib\ext\jaccess.jar;D:\soft\jdk\jre\lib\ext\jfxrt.jar;D:\soft\jdk\jre\lib\ext\localedata.jar;D:\soft\jdk\jre\lib\ext\nashorn.jar;D:\soft\jdk\jre\lib\ext\sunec.jar;D:\soft\jdk\jre\lib\ext\sunjce_provider.jar;D:\soft\jdk\jre\lib\ext\sunmscapi.jar;D:\soft\jdk\jre\lib\ext\sunpkcs11.jar;D:\soft\jdk\jre\lib\ext\zipfs.jar;D:\soft\jdk\jre\lib\javaws.jar;D:\soft\jdk\jre\lib\jce.jar;D:\soft\jdk\jre\lib\jfr.jar;D:\soft\jdk\jre\lib\jfxswt.jar;D:\soft\jdk\jre\lib\jsse.jar;D:\soft\jdk\jre\lib\management-agent.jar;D:\soft\jdk\jre\lib\plugin.jar;D:\soft\jdk\jre\lib\resources.jar;D:\soft\jdk\jre\lib\rt.jar;D:\code\study\dubbo-lession\dubbo-03-consumer\target\classes;D:\code\study\dubbo-lession\dubbo-01-api\target\classes;D:\maven\develop\org\projectlombok\lombok\1.18.22\lombok-1.18.22.jar;D:\maven\develop\org\slf4j\slf4j-api\1.7.32\slf4j-api-1.7.32.jar;D:\maven\develop\ch\qos\logback\logback-classic\1.2.9\logback-classic-1.2.9.jar;D:\maven\develop\ch\qos\logback\logback-core\1.2.9\logback-core-1.2.9.jar;D:\maven\develop\org\apache\dubbo\dubbo\3.2.0\dubbo-3.2.0.jar;D:\maven\develop\org\springframework\spring-context\5.3.25\spring-context-5.3.25.jar;D:\maven\develop\org\springframework\spring-aop\5.3.25\spring-aop-5.3.25.jar;D:\maven\develop\org\springframework\spring-beans\5.3.25\spring-beans-5.3.25.jar;D:\maven\develop\org\springframework\spring-core\5.3.25\spring-core-5.3.25.jar;D:\maven\develop\org\springframework\spring-jcl\5.3.25\spring-jcl-5.3.25.jar;D:\maven\develop\org\springframework\spring-expression\5.3.25\spring-expression-5.3.25.jar;D:\maven\develop\com\alibaba\spring\spring-context-support\1.0.11\spring-context-support-1.0.11.jar;D:\maven\develop\org\javassist\javassist\3.29.2-GA\javassist-3.29.2-GA.jar;D:\maven\develop\io\netty\netty-all\4.1.91.Final\netty-all-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-buffer\4.1.91.Final\netty-buffer-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-codec\4.1.91.Final\netty-codec-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-codec-dns\4.1.91.Final\netty-codec-dns-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-codec-haproxy\4.1.91.Final\netty-codec-haproxy-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-codec-http\4.1.91.Final\netty-codec-http-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-codec-http2\4.1.91.Final\netty-codec-http2-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-codec-memcache\4.1.91.Final\netty-codec-memcache-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-codec-mqtt\4.1.91.Final\netty-codec-mqtt-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-codec-redis\4.1.91.Final\netty-codec-redis-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-codec-smtp\4.1.91.Final\netty-codec-smtp-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-codec-socks\4.1.91.Final\netty-codec-socks-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-codec-stomp\4.1.91.Final\netty-codec-stomp-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-codec-xml\4.1.91.Final\netty-codec-xml-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-common\4.1.91.Final\netty-common-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-handler\4.1.91.Final\netty-handler-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-transport-native-unix-common\4.1.91.Final\netty-transport-native-unix-common-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-handler-proxy\4.1.91.Final\netty-handler-proxy-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-handler-ssl-ocsp\4.1.91.Final\netty-handler-ssl-ocsp-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-resolver\4.1.91.Final\netty-resolver-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-resolver-dns\4.1.91.Final\netty-resolver-dns-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-transport\4.1.91.Final\netty-transport-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-transport-rxtx\4.1.91.Final\netty-transport-rxtx-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-transport-sctp\4.1.91.Final\netty-transport-sctp-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-transport-udt\4.1.91.Final\netty-transport-udt-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-transport-classes-epoll\4.1.91.Final\netty-transport-classes-epoll-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-transport-classes-kqueue\4.1.91.Final\netty-transport-classes-kqueue-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-resolver-dns-classes-macos\4.1.91.Final\netty-resolver-dns-classes-macos-4.1.91.Final.jar;D:\maven\develop\io\netty\netty-transport-native-epoll\4.1.91.Final\netty-transport-native-epoll-4.1.91.Final-linux-x86_64.jar;D:\maven\develop\io\netty\netty-transport-native-epoll\4.1.91.Final\netty-transport-native-epoll-4.1.91.Final-linux-aarch_64.jar;D:\maven\develop\io\netty\netty-transport-native-kqueue\4.1.91.Final\netty-transport-native-kqueue-4.1.91.Final-osx-x86_64.jar;D:\maven\develop\io\netty\netty-transport-native-kqueue\4.1.91.Final\netty-transport-native-kqueue-4.1.91.Final-osx-aarch_64.jar;D:\maven\develop\io\netty\netty-resolver-dns-native-macos\4.1.91.Final\netty-resolver-dns-native-macos-4.1.91.Final-osx-x86_64.jar;D:\maven\develop\io\netty\netty-resolver-dns-native-macos\4.1.91.Final\netty-resolver-dns-native-macos-4.1.91.Final-osx-aarch_64.jar;D:\maven\develop\org\yaml\snakeyaml\1.33\snakeyaml-1.33.jar;D:\maven\develop\com\alibaba\hessian-lite\3.2.13\hessian-lite-3.2.13.jar;D:\maven\develop\com\alibaba\fastjson2\fastjson2\2.0.27\fastjson2-2.0.27.jar;D:\maven\develop\com\google\protobuf\protobuf-java\3.22.2\protobuf-java-3.22.2.jar;D:\maven\develop\com\google\protobuf\protobuf-java-util\3.22.2\protobuf-java-util-3.22.2.jar;D:\maven\develop\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;D:\maven\develop\com\google\code\gson\gson\2.8.9\gson-2.8.9.jar;D:\maven\develop\com\google\errorprone\error_prone_annotations\2.11.0\error_prone_annotations-2.11.0.jar;D:\maven\develop\com\google\guava\guava\31.1-jre\guava-31.1-jre.jar;D:\maven\develop\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar;D:\maven\develop\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;D:\maven\develop\org\checkerframework\checker-qual\3.12.0\checker-qual-3.12.0.jar;D:\maven\develop\com\google\j2objc\j2objc-annotations\1.3\j2objc-annotations-1.3.jar;D:\maven\develop\org\apache\dubbo\dubbo-serialization-protobuf\2.7.23\dubbo-serialization-protobuf-2.7.23.jar com.suns.ClientApplication
22:24:28.613 [main] DEBUG org.springframework.context.support.ClassPathXmlApplicationContext - Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@65ae6ba4
22:24:29.377 [main] INFO org.apache.dubbo.rpc.model.FrameworkModel -  [DUBBO] Dubbo Framework[1] is created, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.422 [main] INFO org.apache.dubbo.common.resource.GlobalResourcesRepository -  [DUBBO] Creating global shared handler ..., dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.519 [main] INFO org.apache.dubbo.rpc.model.ApplicationModel -  [DUBBO] Dubbo Application[1.0](unknown) is created, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.521 [main] INFO org.apache.dubbo.rpc.model.ScopeModel -  [DUBBO] Dubbo Module[1.0.0] is created, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.551 [main] INFO org.apache.dubbo.config.context.AbstractConfigManager -  [DUBBO] Config settings: {
    dubbo.config.mode=STRICT, dubbo.config.ignore-duplicated-interface=false}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.553 [main] INFO org.apache.dubbo.config.context.AbstractConfigManager -  [DUBBO] Config settings: {
    dubbo.config.mode=STRICT, dubbo.config.ignore-duplicated-interface=false}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.571 [main] INFO org.apache.dubbo.common.utils.SerializeSecurityManager -  [DUBBO] Serialize check serializable: true, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.573 [main] INFO org.apache.dubbo.common.utils.SerializeSecurityConfigurator -  [DUBBO] Read serialize allow list from jar:file:/D:/maven/develop/org/apache/dubbo/dubbo/3.2.0/dubbo-3.2.0.jar!/security/serialize.allowlist, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.606 [main] INFO org.apache.dubbo.common.utils.SerializeSecurityConfigurator -  [DUBBO] Read serialize blocked list from jar:file:/D:/maven/develop/org/apache/dubbo/dubbo/3.2.0/dubbo-3.2.0.jar!/security/serialize.blockedlist, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.735 [main] INFO org.apache.dubbo.rpc.model.ApplicationModel -  [DUBBO] Dubbo Application[1.1](unknown) is created, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.735 [main] INFO org.apache.dubbo.rpc.model.ScopeModel -  [DUBBO] Dubbo Module[1.1.0] is created, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.739 [main] INFO org.apache.dubbo.config.context.AbstractConfigManager -  [DUBBO] Config settings: {
    dubbo.config.mode=STRICT, dubbo.config.ignore-duplicated-interface=false}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.739 [main] INFO org.apache.dubbo.config.context.AbstractConfigManager -  [DUBBO] Config settings: {
    dubbo.config.mode=STRICT, dubbo.config.ignore-duplicated-interface=false}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.741 [main] INFO org.apache.dubbo.common.utils.SerializeSecurityConfigurator -  [DUBBO] Read serialize allow list from jar:file:/D:/maven/develop/org/apache/dubbo/dubbo/3.2.0/dubbo-3.2.0.jar!/security/serialize.allowlist, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.741 [main] INFO org.apache.dubbo.common.utils.SerializeSecurityConfigurator -  [DUBBO] Read serialize blocked list from jar:file:/D:/maven/develop/org/apache/dubbo/dubbo/3.2.0/dubbo-3.2.0.jar!/security/serialize.blockedlist, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.751 [main] INFO org.apache.dubbo.config.spring.context.DubboSpringInitializer -  [DUBBO] Use default application: Dubbo Application[1.1](unknown), dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.751 [main] INFO org.apache.dubbo.rpc.model.ScopeModel -  [DUBBO] Dubbo Module[1.1.1] is created, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.752 [main] INFO org.apache.dubbo.config.context.AbstractConfigManager -  [DUBBO] Config settings: {
    dubbo.config.mode=STRICT, dubbo.config.ignore-duplicated-interface=false}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.753 [main] INFO org.apache.dubbo.common.utils.SerializeSecurityConfigurator -  [DUBBO] Read serialize allow list from jar:file:/D:/maven/develop/org/apache/dubbo/dubbo/3.2.0/dubbo-3.2.0.jar!/security/serialize.allowlist, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.753 [main] INFO org.apache.dubbo.common.utils.SerializeSecurityConfigurator -  [DUBBO] Read serialize blocked list from jar:file:/D:/maven/develop/org/apache/dubbo/dubbo/3.2.0/dubbo-3.2.0.jar!/security/serialize.blockedlist, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.754 [main] INFO org.apache.dubbo.config.spring.context.DubboSpringInitializer -  [DUBBO] Use default module model of target application: Dubbo Module[1.1.1], dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.755 [main] INFO org.apache.dubbo.config.spring.context.DubboSpringInitializer -  [DUBBO] Bind Dubbo Module[1.1.1] to spring container: org.springframework.beans.factory.support.DefaultListableBeanFactory@5a8806ef, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.756 [main] DEBUG org.apache.dubbo.config.spring.util.DubboBeanUtils - The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.beans.factory.annotation.ServicePackagesHolder]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [dubboServicePackagesHolder] has been registered.
22:24:29.757 [main] DEBUG org.apache.dubbo.config.spring.util.DubboBeanUtils - The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.reference.ReferenceBeanManager]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [dubboReferenceBeanManager] has been registered.
22:24:29.757 [main] DEBUG org.apache.dubbo.config.spring.util.DubboBeanUtils - The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [referenceAnnotationBeanPostProcessor] has been registered.
22:24:29.759 [main] DEBUG org.apache.dubbo.config.spring.util.DubboBeanUtils - The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.beans.factory.annotation.DubboConfigAliasPostProcessor]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [dubboConfigAliasPostProcessor] has been registered.
22:24:29.759 [main] DEBUG org.apache.dubbo.config.spring.util.DubboBeanUtils - The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.context.DubboDeployApplicationListener]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [org.apache.dubbo.config.spring.context.DubboDeployApplicationListener] has been registered.
22:24:29.759 [main] DEBUG org.apache.dubbo.config.spring.util.DubboBeanUtils - The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.context.DubboConfigApplicationListener]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [org.apache.dubbo.config.spring.context.DubboConfigApplicationListener] has been registered.
22:24:29.760 [main] DEBUG org.apache.dubbo.config.spring.util.DubboBeanUtils - The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.beans.factory.config.DubboConfigDefaultPropertyValueBeanPostProcessor]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [dubboConfigDefaultPropertyValueBeanPostProcessor] has been registered.
22:24:29.760 [main] DEBUG org.apache.dubbo.config.spring.util.DubboBeanUtils - The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.context.DubboConfigBeanInitializer]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [dubboConfigBeanInitializer] has been registered.
22:24:29.761 [main] DEBUG org.apache.dubbo.config.spring.util.DubboBeanUtils - The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.context.DubboInfraBeanRegisterPostProcessor]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [dubboInfraBeanRegisterPostProcessor] has been registered.
22:24:29.770 [main] DEBUG org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loaded 16 bean definitions from class path resource [applicationContext-consumer.xml]
22:24:29.780 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.annotation.internalConfigurationAnnotationProcessor'
22:24:29.820 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'dubboConfigAliasPostProcessor'
22:24:29.820 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'dubboInfraBeanRegisterPostProcessor'
22:24:29.824 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'referenceAnnotationBeanPostProcessor'
22:24:29.827 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'dubboReferenceBeanManager'
22:24:29.831 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.support.PropertySourcesPlaceholderConfigurer'
22:24:29.868 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.event.internalEventListenerProcessor'
22:24:29.871 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.event.internalEventListenerFactory'
22:24:29.897 [main] INFO org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor -  [DUBBO] class org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor was destroying!, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.898 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.annotation.internalAutowiredAnnotationProcessor'
22:24:29.899 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.springframework.context.annotation.internalCommonAnnotationProcessor'
22:24:29.903 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'dubboConfigDefaultPropertyValueBeanPostProcessor'
22:24:29.910 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.apache.dubbo.config.spring.context.DubboConfigApplicationListener'
22:24:29.914 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'dubboConfigBeanInitializer'
22:24:29.933 [main] INFO org.apache.dubbo.config.spring.context.DubboConfigBeanInitializer -  [DUBBO] loading dubbo config beans ..., dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.934 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'dubbo-03-consuemer'
22:24:29.953 [main] INFO org.apache.dubbo.config.spring.context.DubboConfigBeanInitializer -  [DUBBO] dubbo config beans are loaded., dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.961 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ConfigCenterConfig with prefix [dubbo.config-center], extracted props: {
    }, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.966 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ApplicationConfig[id=dubbo-03-consuemer] with prefix [dubbo.applications.dubbo-03-consuemer], extracted props: {
    name=dubbo-03-consuemer, id=dubbo-03-consuemer}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.991 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ProtocolConfig with prefix [dubbo.protocol], extracted props: {
    }, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.996 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing SslConfig with prefix [dubbo.ssl], extracted props: {
    }, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.996 [main] INFO org.apache.dubbo.config.context.ConfigManager -  [DUBBO] The current configurations or effective configurations are as follows:, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.997 [main] INFO org.apache.dubbo.config.context.ConfigManager -  [DUBBO] <dubbo:application enableFileCache="true" executorManagementMode="isolation" parameters="{}" name="dubbo-03-consuemer" id="dubbo-03-consuemer" protocol="dubbo" />, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.998 [main] INFO org.apache.dubbo.config.context.ConfigManager -  [DUBBO] <dubbo:protocol preferSerialization="fastjson2,hessian2" name="dubbo" />, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:29.998 [main] INFO org.apache.dubbo.config.context.ConfigManager -  [DUBBO] <dubbo:ssl />, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.006 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ProviderConfig with prefix [dubbo.provider], extracted props: {
    }, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.009 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ConsumerConfig with prefix [dubbo.consumer], extracted props: {
    }, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.011 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ModuleConfig with prefix [dubbo.module], extracted props: {
    }, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.013 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ModuleConfig with prefix [dubbo.module], extracted props: {
    background=false}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.017 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ProviderConfig with prefix [dubbo.provider], extracted props: {
    deprecated=false, dynamic=true}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.018 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ConsumerConfig with prefix [dubbo.consumer], extracted props: {
    sticky=false}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.018 [main] INFO org.apache.dubbo.config.deploy.DefaultModuleDeployer -  [DUBBO] Dubbo Module[1.1.0] has been initialized!, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.019 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ProviderConfig with prefix [dubbo.provider], extracted props: {
    }, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.020 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ConsumerConfig with prefix [dubbo.consumer], extracted props: {
    }, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.021 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ModuleConfig with prefix [dubbo.module], extracted props: {
    }, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.021 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ModuleConfig with prefix [dubbo.module], extracted props: {
    background=false}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.022 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ProviderConfig with prefix [dubbo.provider], extracted props: {
    deprecated=false, dynamic=true}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.023 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ConsumerConfig with prefix [dubbo.consumer], extracted props: {
    sticky=false}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.024 [main] INFO org.apache.dubbo.config.deploy.DefaultModuleDeployer -  [DUBBO] Dubbo Module[1.1.1] has been initialized!, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.028 [main] INFO org.apache.dubbo.config.deploy.DefaultApplicationDeployer -  [DUBBO] Dubbo Application[1.1](dubbo-03-consuemer) has been initialized!, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.028 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'dubboServicePackagesHolder'
22:24:30.029 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'org.apache.dubbo.config.spring.context.DubboDeployApplicationListener'
22:24:30.030 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'userService'
22:24:30.035 [main] DEBUG org.springframework.beans.AbstractNestablePropertyAccessor - Ignoring optional value for property 'interface' - property not found on bean class [org.apache.dubbo.config.spring.ReferenceBean]
22:24:30.035 [main] DEBUG org.springframework.beans.AbstractNestablePropertyAccessor - Ignoring optional value for property 'url' - property not found on bean class [org.apache.dubbo.config.spring.ReferenceBean]
22:24:30.035 [main] DEBUG org.springframework.beans.AbstractNestablePropertyAccessor - Ignoring optional value for property 'generic' - property not found on bean class [org.apache.dubbo.config.spring.ReferenceBean]
22:24:30.070 [main] INFO org.apache.dubbo.config.spring.reference.ReferenceCreator -  [DUBBO] The configBean[type:ReferenceConfig<com.suns.service.UserService>] has been built., dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.096 [main] DEBUG org.apache.dubbo.common.extension.AdaptiveClassCodeGenerator -  [DUBBO] package org.apache.dubbo.rpc;
import org.apache.dubbo.rpc.model.ScopeModel;
import org.apache.dubbo.rpc.model.ScopeModelUtil;
public class Protocol$Adaptive implements org.apache.dubbo.rpc.Protocol {
    
public void destroy()  {
    
throw new UnsupportedOperationException("The method public abstract void org.apache.dubbo.rpc.Protocol.destroy() of interface org.apache.dubbo.rpc.Protocol is not adaptive method!");
}
public int getDefaultPort()  {
    
throw new UnsupportedOperationException("The method public abstract int org.apache.dubbo.rpc.Protocol.getDefaultPort() of interface org.apache.dubbo.rpc.Protocol is not adaptive method!");
}
public org.apache.dubbo.rpc.Invoker refer(java.lang.Class arg0, org.apache.dubbo.common.URL arg1) throws org.apache.dubbo.rpc.RpcException {
    
if (arg1 == null) throw new IllegalArgumentException("url == null");
org.apache.dubbo.common.URL url = arg1;
String extName = ( url.getProtocol() == null ? "dubbo" : url.getProtocol() );
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.rpc.Protocol) name from url (" + url.toString() + ") use keys([protocol])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.rpc.Protocol.class);
org.apache.dubbo.rpc.Protocol extension = (org.apache.dubbo.rpc.Protocol)scopeModel.getExtensionLoader(org.apache.dubbo.rpc.Protocol.class).getExtension(extName);
return extension.refer(arg0, arg1);
}
public org.apache.dubbo.rpc.Exporter export(org.apache.dubbo.rpc.Invoker arg0) throws org.apache.dubbo.rpc.RpcException {
    
if (arg0 == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.Invoker argument == null");
if (arg0.getUrl() == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.Invoker argument getUrl() == null");
org.apache.dubbo.common.URL url = arg0.getUrl();
String extName = ( url.getProtocol() == null ? "dubbo" : url.getProtocol() );
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.rpc.Protocol) name from url (" + url.toString() + ") use keys([protocol])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.rpc.Protocol.class);
org.apache.dubbo.rpc.Protocol extension = (org.apache.dubbo.rpc.Protocol)scopeModel.getExtensionLoader(org.apache.dubbo.rpc.Protocol.class).getExtension(extName);
return extension.export(arg0);
}
public java.util.List getServers()  {
    
throw new UnsupportedOperationException("The method public default java.util.List org.apache.dubbo.rpc.Protocol.getServers() of interface org.apache.dubbo.rpc.Protocol is not adaptive method!");
}
}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.191 [main] DEBUG org.apache.dubbo.common.extension.AdaptiveClassCodeGenerator -  [DUBBO] package org.apache.dubbo.rpc;
import org.apache.dubbo.rpc.model.ScopeModel;
import org.apache.dubbo.rpc.model.ScopeModelUtil;
public class ProxyFactory$Adaptive implements org.apache.dubbo.rpc.ProxyFactory {
    
public org.apache.dubbo.rpc.Invoker getInvoker(java.lang.Object arg0, java.lang.Class arg1, org.apache.dubbo.common.URL arg2) throws org.apache.dubbo.rpc.RpcException {
    
if (arg2 == null) throw new IllegalArgumentException("url == null");
org.apache.dubbo.common.URL url = arg2;
String extName = url.getParameter("proxy", "javassist");
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.rpc.ProxyFactory) name from url (" + url.toString() + ") use keys([proxy])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.rpc.ProxyFactory.class);
org.apache.dubbo.rpc.ProxyFactory extension = (org.apache.dubbo.rpc.ProxyFactory)scopeModel.getExtensionLoader(org.apache.dubbo.rpc.ProxyFactory.class).getExtension(extName);
return extension.getInvoker(arg0, arg1, arg2);
}
public java.lang.Object getProxy(org.apache.dubbo.rpc.Invoker arg0, boolean arg1) throws org.apache.dubbo.rpc.RpcException {
    
if (arg0 == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.Invoker argument == null");
if (arg0.getUrl() == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.Invoker argument getUrl() == null");
org.apache.dubbo.common.URL url = arg0.getUrl();
String extName = url.getParameter("proxy", "javassist");
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.rpc.ProxyFactory) name from url (" + url.toString() + ") use keys([proxy])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.rpc.ProxyFactory.class);
org.apache.dubbo.rpc.ProxyFactory extension = (org.apache.dubbo.rpc.ProxyFactory)scopeModel.getExtensionLoader(org.apache.dubbo.rpc.ProxyFactory.class).getExtension(extName);
return extension.getProxy(arg0, arg1);
}
public java.lang.Object getProxy(org.apache.dubbo.rpc.Invoker arg0) throws org.apache.dubbo.rpc.RpcException {
    
if (arg0 == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.Invoker argument == null");
if (arg0.getUrl() == null) throw new IllegalArgumentException("org.apache.dubbo.rpc.Invoker argument getUrl() == null");
org.apache.dubbo.common.URL url = arg0.getUrl();
String extName = url.getParameter("proxy", "javassist");
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.rpc.ProxyFactory) name from url (" + url.toString() + ") use keys([proxy])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.rpc.ProxyFactory.class);
org.apache.dubbo.rpc.ProxyFactory extension = (org.apache.dubbo.rpc.ProxyFactory)scopeModel.getExtensionLoader(org.apache.dubbo.rpc.ProxyFactory.class).getExtension(extName);
return extension.getProxy(arg0);
}
}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.254 [main] INFO org.apache.dubbo.config.deploy.DefaultModuleDeployer -  [DUBBO] Dubbo Module[1.1.1] is starting., dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.254 [main] INFO org.apache.dubbo.config.deploy.DefaultApplicationDeployer -  [DUBBO] Dubbo Application[1.1](dubbo-03-consuemer) is starting., dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.254 [main] INFO org.apache.dubbo.config.deploy.DefaultModuleDeployer -  [DUBBO] Dubbo Module[1.1.0] is starting., dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.254 [main] INFO org.apache.dubbo.config.deploy.DefaultModuleDeployer -  [DUBBO] Dubbo Module[1.1.0] has started., dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.256 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ReferenceConfig[id=userService] with prefix [dubbo.references.userService], extracted props: {
    sticky=false, id=userService, interface=com.suns.service.UserService, url=dubbo://192.168.8.1:20880/com.suns.service.UserService}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.258 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ReferenceConfig[id=userService] with prefix [dubbo.reference.com.suns.service.UserService], extracted props: {
    interface=com.suns.service.UserService, id=userService, sticky=false, url=dubbo://192.168.8.1:20880/com.suns.service.UserService}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.300 [main] DEBUG io.netty.util.internal.logging.InternalLoggerFactory - Using SLF4J as the default logging framework
22:24:30.310 [main] DEBUG io.netty.channel.MultithreadEventLoopGroup - -Dio.netty.eventLoopThreads: 16
22:24:30.316 [main] DEBUG io.netty.util.concurrent.GlobalEventExecutor - -Dio.netty.globalEventExecutor.quietPeriodSeconds: 1
22:24:30.321 [main] DEBUG io.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.initialSize: 1024
22:24:30.323 [main] DEBUG io.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.maxSize: 4096
22:24:30.343 [main] DEBUG io.netty.util.internal.PlatformDependent0 - -Dio.netty.noUnsafe: false
22:24:30.344 [main] DEBUG io.netty.util.internal.PlatformDependent0 - Java version: 8
22:24:30.345 [main] DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.theUnsafe: available
22:24:30.346 [main] DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.copyMemory: available
22:24:30.346 [main] DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.storeFence: available
22:24:30.346 [main] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Buffer.address: available
22:24:30.348 [main] DEBUG io.netty.util.internal.PlatformDependent0 - direct buffer constructor: available
22:24:30.348 [main] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Bits.unaligned: available, true
22:24:30.348 [main] DEBUG io.netty.util.internal.PlatformDependent0 - jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable prior to Java9
22:24:30.348 [main] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.DirectByteBuffer.<init>(long, int): available
22:24:30.349 [main] DEBUG io.netty.util.internal.PlatformDependent - sun.misc.Unsafe: available
22:24:30.349 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.tmpdir: C:\Users\ADMINI~1\AppData\Local\Temp (java.io.tmpdir)
22:24:30.349 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.bitMode: 64 (sun.arch.data.model)
22:24:30.349 [main] DEBUG io.netty.util.internal.PlatformDependent - Platform: Windows
22:24:30.351 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.maxDirectMemory: 3771203584 bytes
22:24:30.351 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.uninitializedArrayAllocationThreshold: -1
22:24:30.352 [main] DEBUG io.netty.util.internal.CleanerJava6 - java.nio.ByteBuffer.cleaner(): available
22:24:30.352 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.noPreferDirect: false
22:24:30.352 [main] DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.noKeySetOptimization: false
22:24:30.352 [main] DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.selectorAutoRebuildThreshold: 512
22:24:30.361 [main] DEBUG io.netty.util.internal.PlatformDependent - org.jctools-core.MpscChunkedArrayQueue: available
22:24:30.668 [main] DEBUG io.netty.channel.DefaultChannelId - -Dio.netty.processId: 4960 (auto-detected)
22:24:30.670 [main] DEBUG io.netty.util.NetUtil - -Djava.net.preferIPv4Stack: false
22:24:30.670 [main] DEBUG io.netty.util.NetUtil - -Djava.net.preferIPv6Addresses: false
22:24:30.858 [main] DEBUG io.netty.util.NetUtilInitializations - Loopback interface: lo (Software Loopback Interface 1, 127.0.0.1)
22:24:30.858 [main] DEBUG io.netty.util.NetUtil - Failed to get SOMAXCONN from sysctl and file \proc\sys\net\core\somaxconn. Default: 200
22:24:30.888 [main] DEBUG io.netty.channel.DefaultChannelId - -Dio.netty.machineId: 00:50:56:ff:fe:c0:00:08 (auto-detected)
22:24:30.899 [main] DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.level: simple
22:24:30.899 [main] DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.targetRecords: 4
22:24:30.915 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.numHeapArenas: 16
22:24:30.915 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.numDirectArenas: 16
22:24:30.915 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.pageSize: 8192
22:24:30.915 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxOrder: 9
22:24:30.915 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.chunkSize: 4194304
22:24:30.915 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.smallCacheSize: 256
22:24:30.915 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.normalCacheSize: 64
22:24:30.915 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxCachedBufferCapacity: 32768
22:24:30.915 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.cacheTrimInterval: 8192
22:24:30.915 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.cacheTrimIntervalMillis: 0
22:24:30.915 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.useCacheForAllThreads: false
22:24:30.915 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxCachedByteBuffersPerChunk: 1023
22:24:30.923 [main] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.allocator.type: pooled
22:24:30.923 [main] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.threadLocalDirectBufferSize: 0
22:24:30.923 [main] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.maxThreadLocalCharBufferSize: 16384
22:24:30.933 [main] ERROR org.apache.dubbo.qos.server.Server -  [DUBBO] qos-server can not bind localhost:22222, dubbo version: 3.2.0, current host: 192.168.8.1, error code: 7-4. This may be caused by , go to https://dubbo.apache.org/faq/7/4 to find instructions. 
java.net.BindException: Address already in use: bind
	at sun.nio.ch.Net.bind0(Native Method)
	at sun.nio.ch.Net.bind(Net.java:433)
	at sun.nio.ch.Net.bind(Net.java:425)
	at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
	at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:141)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:562)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1334)
	at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:600)
	at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:579)
	at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:973)
	at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:260)
	at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:356)
	at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:748)
22:24:30.934 [main] WARN org.apache.dubbo.qos.protocol.QosProtocolWrapper -  [DUBBO] Fail to start qos server: , dubbo version: 3.2.0, current host: 192.168.8.1, error code: 7-4. This may be caused by , go to https://dubbo.apache.org/faq/7/4 to find instructions. 
java.net.BindException: Address already in use: bind
	at sun.nio.ch.Net.bind0(Native Method)
	at sun.nio.ch.Net.bind(Net.java:433)
	at sun.nio.ch.Net.bind(Net.java:425)
	at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
	at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:141)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:562)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1334)
	at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:600)
	at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:579)
	at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:973)
	at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:260)
	at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:356)
	at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:748)
22:24:30.947 [main] DEBUG org.apache.dubbo.common.extension.AdaptiveClassCodeGenerator -  [DUBBO] package org.apache.dubbo.remoting;
import org.apache.dubbo.rpc.model.ScopeModel;
import org.apache.dubbo.rpc.model.ScopeModelUtil;
public class Transporter$Adaptive implements org.apache.dubbo.remoting.Transporter {
    
public org.apache.dubbo.remoting.Client connect(org.apache.dubbo.common.URL arg0, org.apache.dubbo.remoting.ChannelHandler arg1) throws org.apache.dubbo.remoting.RemotingException {
    
if (arg0 == null) throw new IllegalArgumentException("url == null");
org.apache.dubbo.common.URL url = arg0;
String extName = url.getParameter("client", url.getParameter("transporter", "netty"));
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.remoting.Transporter) name from url (" + url.toString() + ") use keys([client, transporter])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.remoting.Transporter.class);
org.apache.dubbo.remoting.Transporter extension = (org.apache.dubbo.remoting.Transporter)scopeModel.getExtensionLoader(org.apache.dubbo.remoting.Transporter.class).getExtension(extName);
return extension.connect(arg0, arg1);
}
public org.apache.dubbo.remoting.RemotingServer bind(org.apache.dubbo.common.URL arg0, org.apache.dubbo.remoting.ChannelHandler arg1) throws org.apache.dubbo.remoting.RemotingException {
    
if (arg0 == null) throw new IllegalArgumentException("url == null");
org.apache.dubbo.common.URL url = arg0;
String extName = url.getParameter("server", url.getParameter("transporter", "netty"));
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.remoting.Transporter) name from url (" + url.toString() + ") use keys([server, transporter])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.remoting.Transporter.class);
org.apache.dubbo.remoting.Transporter extension = (org.apache.dubbo.remoting.Transporter)scopeModel.getExtensionLoader(org.apache.dubbo.remoting.Transporter.class).getExtension(extName);
return extension.bind(arg0, arg1);
}
}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.966 [main] DEBUG org.apache.dubbo.common.extension.AdaptiveClassCodeGenerator -  [DUBBO] package org.apache.dubbo.remoting;
import org.apache.dubbo.rpc.model.ScopeModel;
import org.apache.dubbo.rpc.model.ScopeModelUtil;
public class Dispatcher$Adaptive implements org.apache.dubbo.remoting.Dispatcher {
    
public org.apache.dubbo.remoting.ChannelHandler dispatch(org.apache.dubbo.remoting.ChannelHandler arg0, org.apache.dubbo.common.URL arg1)  {
    
if (arg1 == null) throw new IllegalArgumentException("url == null");
org.apache.dubbo.common.URL url = arg1;
String extName = url.getParameter("dispatcher", url.getParameter("dispather", url.getParameter("channel.handler", "all")));
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.remoting.Dispatcher) name from url (" + url.toString() + ") use keys([dispatcher, dispather, channel.handler])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.remoting.Dispatcher.class);
org.apache.dubbo.remoting.Dispatcher extension = (org.apache.dubbo.remoting.Dispatcher)scopeModel.getExtensionLoader(org.apache.dubbo.remoting.Dispatcher.class).getExtension(extName);
return extension.dispatch(arg0, arg1);
}
}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:30.991 [main] DEBUG org.apache.dubbo.common.extension.AdaptiveClassCodeGenerator -  [DUBBO] package org.apache.dubbo.common.threadpool;
import org.apache.dubbo.rpc.model.ScopeModel;
import org.apache.dubbo.rpc.model.ScopeModelUtil;
public class ThreadPool$Adaptive implements org.apache.dubbo.common.threadpool.ThreadPool {
    
public java.util.concurrent.Executor getExecutor(org.apache.dubbo.common.URL arg0)  {
    
if (arg0 == null) throw new IllegalArgumentException("url == null");
org.apache.dubbo.common.URL url = arg0;
String extName = url.getParameter("threadpool", "fixed");
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.common.threadpool.ThreadPool) name from url (" + url.toString() + ") use keys([threadpool])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.common.threadpool.ThreadPool.class);
org.apache.dubbo.common.threadpool.ThreadPool extension = (org.apache.dubbo.common.threadpool.ThreadPool)scopeModel.getExtensionLoader(org.apache.dubbo.common.threadpool.ThreadPool.class).getExtension(extName);
return extension.getExecutor(arg0);
}
}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.473 [NettyClientWorker-4-1] INFO org.apache.dubbo.remoting.transport.netty4.NettyClientHandler -  [DUBBO] The connection of /192.168.8.1:58223 -> /192.168.8.1:20880 is established., dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.480 [main] INFO org.apache.dubbo.remoting.transport.AbstractClient -  [DUBBO] Successfully connect to server /192.168.8.1:20880 from NettyClient 192.168.8.1 using dubbo version 3.2.0, channel is NettyChannel [channel=[id: 0x51d83f38, L:/192.168.8.1:58223 - R:/192.168.8.1:20880]], dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.481 [main] INFO org.apache.dubbo.remoting.transport.AbstractClient -  [DUBBO] Start NettyClient /192.168.8.1 connect to the server /192.168.8.1:20880, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.529 [main] DEBUG org.apache.dubbo.common.extension.AdaptiveClassCodeGenerator -  [DUBBO] package org.apache.dubbo.monitor;
import org.apache.dubbo.rpc.model.ScopeModel;
import org.apache.dubbo.rpc.model.ScopeModelUtil;
public class MonitorFactory$Adaptive implements org.apache.dubbo.monitor.MonitorFactory {
    
public org.apache.dubbo.monitor.Monitor getMonitor(org.apache.dubbo.common.URL arg0)  {
    
if (arg0 == null) throw new IllegalArgumentException("url == null");
org.apache.dubbo.common.URL url = arg0;
String extName = ( url.getProtocol() == null ? "dubbo" : url.getProtocol() );
if(extName == null) throw new IllegalStateException("Failed to get extension (org.apache.dubbo.monitor.MonitorFactory) name from url (" + url.toString() + ") use keys([protocol])");
ScopeModel scopeModel = ScopeModelUtil.getOrDefault(url.getScopeModel(), org.apache.dubbo.monitor.MonitorFactory.class);
org.apache.dubbo.monitor.MonitorFactory extension = (org.apache.dubbo.monitor.MonitorFactory)scopeModel.getExtensionLoader(org.apache.dubbo.monitor.MonitorFactory.class).getExtension(extName);
return extension.getMonitor(arg0);
}
}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.539 [main] INFO org.apache.dubbo.config.ReferenceConfig -  [DUBBO] Referred dubbo service: [com.suns.service.UserService]. it's not GenericService reference, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.541 [main] WARN org.apache.dubbo.registry.client.metadata.MetadataUtils -  [DUBBO] Remote Metadata Report Server is not provided or unavailable, will stop registering service definition to remote center!, dubbo version: 3.2.0, current host: 192.168.8.1, error code: 1-39. This may be caused by , go to https://dubbo.apache.org/faq/1/39 to find instructions. 
22:24:31.551 [main] INFO org.apache.dubbo.config.deploy.DefaultModuleDeployer -  [DUBBO] Dubbo Module[1.1.1] has started., dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.551 [main] INFO org.apache.dubbo.config.deploy.DefaultMetricsServiceExporter -  [DUBBO] The MetricsConfig not exist, will not export metrics service., dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.553 [main] INFO org.apache.dubbo.config.bootstrap.builders.InternalServiceConfigBuilder -  [DUBBO] org.apache.dubbo.metadata.MetadataServiceService Port hasn't been set will use default protocol defined in protocols., dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.554 [main] INFO org.apache.dubbo.config.bootstrap.builders.InternalServiceConfigBuilder -  [DUBBO] Using dubbo protocol to export org.apache.dubbo.metadata.MetadataService service on port -1, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.568 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ServiceConfig with prefix [dubbo.service], extracted props: {
    group=dubbo-03-consuemer, register=false, interface=org.apache.dubbo.metadata.MetadataService, deprecated=false, dynamic=true, version=1.0.0, delay=0}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.576 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing MethodConfig[name=getAndListenInstanceMetadata] with prefix [dubbo.service.getAndListenInstanceMetadata], extracted props: {
    name=getAndListenInstanceMetadata}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.579 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing ServiceConfig with prefix [dubbo.service.org.apache.dubbo.metadata.MetadataService], extracted props: {
    version=1.0.0, interface=org.apache.dubbo.metadata.MetadataService, deprecated=false, group=dubbo-03-consuemer, register=false, dynamic=true, delay=0}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.582 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing MethodConfig[name=getAndListenInstanceMetadata] with prefix [dubbo.service.org.apache.dubbo.metadata.MetadataService.getAndListenInstanceMetadata], extracted props: {
    sent=true, name=getAndListenInstanceMetadata, return=true}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.589 [main] DEBUG org.apache.dubbo.config.AbstractConfig -  [DUBBO] Refreshing RegistryConfig[id=internal-metadata-registry] with prefix [dubbo.registries.internal-metadata-registry], extracted props: {
    port=0, id=internal-metadata-registry, address=N/A}, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.593 [main] DEBUG org.apache.dubbo.config.ServiceConfig -  [DUBBO] No valid ip found from environment, try to get local host., dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.595 [main] WARN org.apache.dubbo.config.ServiceConfig -  [DUBBO] Use random available port(20881) for protocol dubbo, dubbo version: 3.2.0, current host: 192.168.8.1, error code: 5-8. This may be caused by , go to https://dubbo.apache.org/faq/5/8 to find instructions. 
22:24:31.637 [main] INFO org.apache.dubbo.config.ServiceConfig -  [DUBBO] Export dubbo service org.apache.dubbo.metadata.MetadataService to local registry url : injvm://127.0.0.1/org.apache.dubbo.metadata.MetadataService?anyhost=true&application=dubbo-03-consuemer&background=false&bind.ip=192.168.8.1&bind.port=20881&delay=0&deprecated=false&dubbo=2.0.2&dynamic=true&executor-management-mode=isolation&exporter.listener=injvm&file-cache=true&generic=false&getAndListenInstanceMetadata.1.callback=true&getAndListenInstanceMetadata.return=true&getAndListenInstanceMetadata.sent=true&group=dubbo-03-consuemer&interface=org.apache.dubbo.metadata.MetadataService&methods=exportInstanceMetadata,getAndListenInstanceMetadata,getExportedServiceURLs,getExportedURLs,getExportedURLs,getExportedURLs,getExportedURLs,getExportedURLs,getInstanceMetadataChangedListenerMap,getMetadataInfo,getMetadataInfos,getMetadataURL,getServiceDefinition,getServiceDefinition,getSubscribedURLs,isMetadataService,serviceName,toSortedStrings,toSortedStrings,version&pid=4960&prefer.serialization=fastjson2,hessian2&register=false&release=3.2.0&revision=3.2.0&side=provider&timestamp=1689085471592&version=1.0.0, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.637 [main] INFO org.apache.dubbo.config.ServiceConfig -  [DUBBO] Export dubbo service org.apache.dubbo.metadata.MetadataService to url dubbo://192.168.8.1:20881/org.apache.dubbo.metadata.MetadataService?anyhost=true&application=dubbo-03-consuemer&background=false&bind.ip=192.168.8.1&bind.port=20881&delay=0&deprecated=false&dubbo=2.0.2&dynamic=true&executor-management-mode=isolation&file-cache=true&generic=false&getAndListenInstanceMetadata.1.callback=true&getAndListenInstanceMetadata.return=true&getAndListenInstanceMetadata.sent=true&group=dubbo-03-consuemer&interface=org.apache.dubbo.metadata.MetadataService&methods=exportInstanceMetadata,getAndListenInstanceMetadata,getExportedServiceURLs,getExportedURLs,getExportedURLs,getExportedURLs,getExportedURLs,getExportedURLs,getInstanceMetadataChangedListenerMap,getMetadataInfo,getMetadataInfos,getMetadataURL,getServiceDefinition,getServiceDefinition,getSubscribedURLs,isMetadataService,serviceName,toSortedStrings,toSortedStrings,version&pid=4960&prefer.serialization=fastjson2,hessian2&register=false&release=3.2.0&revision=3.2.0&side=provider&timestamp=1689085471592&version=1.0.0, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.649 [main] INFO org.apache.dubbo.remoting.transport.AbstractServer -  [DUBBO] Start NettyServer bind /0.0.0.0:20881, export /192.168.8.1:20881, dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.651 [main] INFO org.apache.dubbo.config.metadata.ConfigurableMetadataServiceExporter -  [DUBBO] The MetadataService exports urls : [dubbo://192.168.8.1:20881/org.apache.dubbo.metadata.MetadataService?anyhost=true&application=dubbo-03-consuemer&background=false&bind.ip=192.168.8.1&bind.port=20881&delay=0&deprecated=false&dubbo=2.0.2&dynamic=true&executor-management-mode=isolation&file-cache=true&generic=false&getAndListenInstanceMetadata.1.callback=true&getAndListenInstanceMetadata.return=true&getAndListenInstanceMetadata.sent=true&group=dubbo-03-consuemer&interface=org.apache.dubbo.metadata.MetadataService&methods=exportInstanceMetadata,getAndListenInstanceMetadata,getExportedServiceURLs,getExportedURLs,getExportedURLs,getExportedURLs,getExportedURLs,getExportedURLs,getInstanceMetadataChangedListenerMap,getMetadataInfo,getMetadataInfos,getMetadataURL,getServiceDefinition,getServiceDefinition,getSubscribedURLs,isMetadataService,serviceName,toSortedStrings,toSortedStrings,version&pid=4960&prefer.serialization=fastjson2,hessian2&register=false&release=3.2.0&revision=3.2.0&side=provider&timestamp=1689085471592&version=1.0.0], dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.652 [main] INFO org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataUtils -  [DUBBO] Start registering instance address to registry., dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.658 [main] INFO org.apache.dubbo.config.deploy.DefaultApplicationDeployer -  [DUBBO] Dubbo Application[1.1](dubbo-03-consuemer) is ready., dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.674 [main] DEBUG org.apache.dubbo.config.spring.ReferenceBean$DubboReferenceLazyInitTargetSource - Initializing lazy target object
22:24:31.700 [main] DEBUG io.netty.buffer.AbstractByteBuf - -Dio.netty.buffer.checkAccessible: true
22:24:31.701 [main] DEBUG io.netty.buffer.AbstractByteBuf - -Dio.netty.buffer.checkBounds: true
22:24:31.701 [main] DEBUG io.netty.util.ResourceLeakDetectorFactory - Loaded default ResourceLeakDetector: io.netty.util.ResourceLeakDetector@7957dc72
22:24:31.703 [main] DEBUG io.netty.util.Recycler - -Dio.netty.recycler.maxCapacityPerThread: 4096
22:24:31.703 [main] DEBUG io.netty.util.Recycler - -Dio.netty.recycler.ratio: 8
22:24:31.703 [main] DEBUG io.netty.util.Recycler - -Dio.netty.recycler.chunkSize: 32
22:24:31.703 [main] DEBUG io.netty.util.Recycler - -Dio.netty.recycler.blocking: false
22:24:31.703 [main] DEBUG io.netty.util.Recycler - -Dio.netty.recycler.batchFastThreadLocalOnly: true
22:24:31.827 [main] DEBUG org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult -  [DUBBO] Decoding in thread -- [main#1], dubbo version: 3.2.0, current host: 192.168.8.1
22:24:31.831 [main] DEBUG org.apache.dubbo.remoting.transport.DecodeHandler -  [DUBBO] Decode decodeable message org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult, dubbo version: 3.2.0, current host: 192.168.8.1
ret = false
22:25:31.850 [NettyClientWorker-4-1] DEBUG org.apache.dubbo.remoting.transport.netty4.NettyClientHandler -  [DUBBO] IdleStateEvent triggered, send heartbeat to channel NettyChannel [channel=[id: 0x51d83f38, L:/192.168.8.1:58223 - R:/192.168.8.1:20880]], dubbo version: 3.2.0, current host: 192.168.8.1
22:25:31.861 [NettyClientWorker-4-1] DEBUG org.apache.dubbo.remoting.exchange.support.header.HeartbeatHandler -  [DUBBO] Receive heartbeat response in thread NettyClientWorker-4-1, dubbo version: 3.2.0, current host: 192.168.8.1
22:26:31.872 [NettyClientWorker-4-1] DEBUG org.apache.dubbo.remoting.transport.netty4.NettyClientHandler -  [DUBBO] IdleStateEvent triggered, send heartbeat to channel NettyChannel [channel=[id: 0x51d83f38, L:/192.168.8.1:58223 - R:/192.168.8.1:20880]], dubbo version: 3.2.0, current host: 192.168.8.1
22:26:31.874 [NettyClientWorker-4-1] DEBUG org.apache.dubbo.remoting.exchange.support.header.HeartbeatHandler -  [DUBBO] Receive heartbeat response in thread NettyClientWorker-4-1, dubbo version: 3.2.0, current host: 192.168.8.1
22:27:31.878 [NettyClientWorker-4-1] DEBUG org.apache.dubbo.remoting.transport.netty4.NettyClientHandler -  [DUBBO] IdleStateEvent triggered, send heartbeat to channel NettyChannel [channel=[id: 0x51d83f38, L:/192.168.8.1:58223 - R:/192.168.8.1:20880]], dubbo version: 3.2.0, current host: 192.168.8.1
22:27:31.881 [NettyClientWorker-4-1] DEBUG org.apache.dubbo.remoting.exchange.support.header.HeartbeatHandler -  [DUBBO] Receive heartbeat response in thread NettyClientWorker-4-1, dubbo version: 3.2.0, current host: 192.168.8.1

到此,我们已经可以 通过日志证明,直连的方式确实已经打通了消费者与提供者之间的调用关系

五:一个异常分析

服务启动的时候,我们先启动服务端,在启动客户端。

22:24:30.933 [main] ERROR org.apache.dubbo.qos.server.Server -  [DUBBO] qos-server can not bind localhost:22222, dubbo version: 3.2.0, current host: 192.168.8.1, error code: 7-4. This may be caused by , go to https://dubbo.apache.org/faq/7/4 to find instructions. 
java.net.BindException: Address already in use: bind
	at sun.nio.ch.Net.bind0(Native Method)
	at sun.nio.ch.Net.bind(Net.java:433)
	at sun.nio.ch.Net.bind(Net.java:425)
	at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
	at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:141)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:562)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1334)
	at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:600)
	at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:579)
	at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:973)
	at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:260)
	at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:356)
	at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:748)
22:24:30.934 [main] WARN org.apache.dubbo.qos.protocol.QosProtocolWrapper -  [DUBBO] Fail to start qos server: , dubbo version: 3.2.0, current host: 192.168.8.1, error code: 7-4. This may be caused by , go to https://dubbo.apache.org/faq/7/4 to find instructions. 
java.net.BindException: Address already in use: bind
	at sun.nio.ch.Net.bind0(Native Method)
	at sun.nio.ch.Net.bind(Net.java:433)
	at sun.nio.ch.Net.bind(Net.java:425)
	at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
	at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:141)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:562)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1334)
	at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:600)
	at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:579)
	at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:973)
	at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:260)
	at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:356)
	at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:748)

客户端启动的时候,虽然服务启动起来了,但是有一个qos的异常,报一个绑定不上22222

问题原因是:
Qos=Quality of Service,qos是Dubbo的在线运维命令,可以对服务进⾏动态的配置、控制及查询,qos也是一个服务,启动需要占用端口。

Dubboo2.5.8新版本重构了telnet(telnet是从Dubbo2.0.5开始⽀持的)模块,提供了新的telnet命令⽀持,新版本的telnet端⼝与dubbo协议的端⼝是不同的端⼝,默认为22222。正是因为这个问题:如果在⼀台服务器⾥⾯,启动provider时22222端⼝,⽽consumer启动时就会报错了。

qos只要是dubbo服务,无论是消费者还是提供者都会默认启动的,只不过先启动的没问题,后启动的就不行了,端口已经被占用了。

解决方案:

<dubbo:parameter key="qos.enable" value="true"/> <!--
是否开启在线运维命令 -->
<dubbo:parameter key="qos.accept.foreign.ip" value="false"/> <!--
不允许其他机器的访问 -->
<dubbo:parameter key="qos.port" value="33333"/> <!--
修改port-->
dubbo.application.qos.enable=true
dubbo.application.qos.port=33333
dubbo.application.qos.accept.foreign.ip=false

最终体现方式:

    <dubbo:application name="dubbo-03-consuemer">
        <dubbo:parameter key="qos.enable" value="false"/>
    </dubbo:application>
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Facial_Mask/article/details/131647735

智能推荐

Spring Boot 获取 bean 的 3 种方式!还有谁不会?,Java面试官_springboot2.7获取bean-程序员宅基地

文章浏览阅读1.2k次,点赞35次,收藏18次。AutowiredPostConstruct 注释用于在依赖关系注入完成之后需要执行的方法上,以执行任何初始化。此方法必须在将类放入服务之前调用。支持依赖关系注入的所有类都必须支持此注释。即使类没有请求注入任何资源,用 PostConstruct 注释的方法也必须被调用。只有一个方法可以用此注释进行注释。_springboot2.7获取bean

Logistic Regression Java程序_logisticregression java-程序员宅基地

文章浏览阅读2.1k次。理论介绍 节点定义package logistic;public class Instance { public int label; public double[] x; public Instance(){} public Instance(int label,double[] x){ this.label = label; th_logisticregression java

linux文件误删除该如何恢复?,2024年最新Linux运维开发知识点-程序员宅基地

文章浏览阅读981次,点赞21次,收藏18次。本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。下面我们来进行文件的恢复,执行下文中的lsof命令,在其返回结果中我们可以看到test-recovery.txt (deleted)被删除了,但是其存在一个进程tail使用它,tail进程的进程编号是1535。我们看到文件名为3的文件,就是我们刚刚“误删除”的文件,所以我们使用下面的cp命令把它恢复回去。命令进入该进程的文件目录下,1535是tail进程的进程id,这个文件目录里包含了若干该进程正在打开使用的文件。

流媒体协议之RTMP详解-程序员宅基地

文章浏览阅读10w+次,点赞12次,收藏72次。RTMP(Real Time Messaging Protocol)实时消息传输协议是Adobe公司提出得一种媒体流传输协议,其提供了一个双向得通道消息服务,意图在通信端之间传递带有时间信息得视频、音频和数据消息流,其通过对不同类型得消息分配不同得优先级,进而在网传能力限制下确定各种消息得传输次序。_rtmp

微型计算机2017年12月下,2017年12月计算机一级MSOffice考试习题(二)-程序员宅基地

文章浏览阅读64次。2017年12月的计算机等级考试将要来临!出国留学网为考生们整理了2017年12月计算机一级MSOffice考试习题,希望能帮到大家,想了解更多计算机等级考试消息,请关注我们,我们会第一时间更新。2017年12月计算机一级MSOffice考试习题(二)一、单选题1). 计算机最主要的工作特点是( )。A.存储程序与自动控制B.高速度与高精度C.可靠性与可用性D.有记忆能力正确答案:A答案解析:计算...

20210415web渗透学习之Mysqludf提权(二)(胃肠炎住院期间转)_the provided input file '/usr/share/metasploit-fra-程序员宅基地

文章浏览阅读356次。在学MYSQL的时候刚刚好看到了这个提权,很久之前用过别人现成的,但是一直时间没去细想, 这次就自己复现学习下。 0x00 UDF 什么是UDF? UDF (user defined function),即用户自定义函数。是通过添加新函数,对MySQL的功能进行扩充,就像使..._the provided input file '/usr/share/metasploit-framework/data/exploits/mysql

随便推点

webService详细-程序员宅基地

文章浏览阅读3.1w次,点赞71次,收藏485次。webService一 WebService概述1.1 WebService是什么WebService是一种跨编程语言和跨操作系统平台的远程调用技术。Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准...

Retrofit(2.0)入门小错误 -- Could not locate ResponseBody xxx Tried: * retrofit.BuiltInConverters_已添加addconverterfactory 但是 could not locate respons-程序员宅基地

文章浏览阅读1w次。前言照例给出官网:Retrofit官网其实大家学习的时候,完全可以按照官网Introduction,自己写一个例子来运行。但是百密一疏,官网可能忘记添加了一句非常重要的话,导致你可能出现如下错误:Could not locate ResponseBody converter错误信息:Caused by: java.lang.IllegalArgumentException: Could not l_已添加addconverterfactory 但是 could not locate responsebody converter

一套键鼠控制Windows+Linux——Synergy在Windows10和Ubuntu18.04共控的实践_linux 18.04 synergy-程序员宅基地

文章浏览阅读1k次。一套键鼠控制Windows+Linux——Synergy在Windows10和Ubuntu18.04共控的实践Synergy简介准备工作(重要)Windows服务端配置Ubuntu客户端配置配置开机启动Synergy简介Synergy能够通过IP地址实现一套键鼠对多系统、多终端进行控制,免去了对不同终端操作时频繁切换键鼠的麻烦,可跨平台使用,拥有Linux、MacOS、Windows多个版本。Synergy应用分服务端和客户端,服务端即主控端,Synergy会共享连接服务端的键鼠给客户端终端使用。本文_linux 18.04 synergy

nacos集成seata1.4.0注意事项_seata1.4.0 +nacos 集成-程序员宅基地

文章浏览阅读374次。写demo的时候遇到了很多问题,记录一下。安装nacos1.4.0配置mysql数据库,新建nacos_config数据库,并根据初始化脚本新建表,使配置从数据库读取,可单机模式启动也可以集群模式启动,启动时 ./start.sh -m standaloneapplication.properties 主要是db部分配置## Copyright 1999-2018 Alibaba Group Holding Ltd.## Licensed under the Apache License,_seata1.4.0 +nacos 集成

iperf3常用_iperf客户端指定ip地址-程序员宅基地

文章浏览阅读833次。iperf使用方法详解 iperf3是一款带宽测试工具,它支持调节各种参数,比如通信协议,数据包个数,发送持续时间,测试完会报告网络带宽,丢包率和其他参数。 安装 sudo apt-get install iperf3 iPerf3常用的参数: -c :指定客户端模式。例如:iperf3 -c 192.168.1.100。这将使用客户端模式连接到IP地址为192.16..._iperf客户端指定ip地址

浮点性(float)转化为字符串类型 自定义实现和深入探讨C++内部实现方法_c++浮点数 转 字符串 精度损失最小-程序员宅基地

文章浏览阅读7.4k次。 写这个函数目的不是为了和C/C++库中的函数在性能和安全性上一比高低,只是为了给那些喜欢探讨函数内部实现的网友,提供一种从浮点性到字符串转换的一种途径。 浮点数是有精度限制的,所以即使我们在使用C/C++中的sprintf或者cout 限制,当然这个精度限制是可以修改的。比方在C++中,我们可以cout.precision(10),不过这样设置的整个输出字符长度为10,而不是特定的小数点后1_c++浮点数 转 字符串 精度损失最小

推荐文章

热门文章

相关标签