首页 > 编程语言 > 详细

springboot,dubbo,nacos,spring-cloud-alibaba的整合

时间:2019-07-30 18:07:09      阅读:146      评论:0      收藏:0      [点我收藏+]

  最近,自去年阿里开源了dubbo2.7及一系列产品后,阿里也打造了融入spring-cloud 的生态体系,本人关注,今年阿里开源的的spring-cloud-alibaba基本孵化完成,笔者更是对这一系统的东西关注有加,原spring-cloud 的netflix逐步不再维护,而阿里这套系统日益活跃,未来趋势很可能spring-cloud-alibaba更为流行。

  因为前期公司一直采用的是dubbo的调用模式,所以为了兼容以前的东西,笔者想要整合并逐步引入spring-cloud-alibaba的东西,为此搞个demo。记录一下

工程目录结构:

技术分享图片

pom是父类工程,进行版本管理

pom文件:

技术分享图片
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 4     <modelVersion>4.0.0</modelVersion>
 5     <parent>
 6         <groupId>org.springframework.boot</groupId>
 7         <artifactId>spring-boot-starter-parent</artifactId>
 8         <version>2.1.6.RELEASE</version>
 9         <relativePath/> <!-- lookup parent from repository -->
10     </parent>
11     <groupId>com.drawnblue</groupId>
12     <artifactId>pom</artifactId>
13     <version>0.0.1-SNAPSHOT</version>
14     <name>pom</name>
15     <description>Demo project for Spring Boot</description>
16     <packaging>pom</packaging>
17     <properties>
18         <java.version>1.8</java.version>
19     </properties>
20 
21     <dependencies>
22         <dependency>
23             <groupId>org.springframework.boot</groupId>
24             <artifactId>spring-boot-starter</artifactId>
25         </dependency>
26 
27         <dependency>
28             <groupId>org.springframework.boot</groupId>
29             <artifactId>spring-boot-starter-test</artifactId>
30             <scope>test</scope>
31         </dependency>
32     </dependencies>
33     <dependencyManagement>
34         <dependencies>
35             <dependency>
36                 <groupId>org.springframework.cloud</groupId>
37                 <artifactId>spring-cloud-dependencies</artifactId>
38                 <version>Greenwich.SR2</version>
39             </dependency>
40             <dependency>
41                 <groupId>org.springframework.cloud</groupId>
42                 <artifactId>spring-cloud-alibaba-dependencies</artifactId>
43                 <version>0.9.0.RELEASE</version>
44             </dependency>
45         </dependencies>
46     </dependencyManagement>
47     <build>
48         <plugins>
49             <plugin>
50                 <groupId>org.springframework.boot</groupId>
51                 <artifactId>spring-boot-maven-plugin</artifactId>
52             </plugin>
53         </plugins>
54     </build>
55  
56 </project>
View Code

common,dao都是一般的不可执行项目,作为依赖

common pom

技术分享图片
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 4     <modelVersion>4.0.0</modelVersion>
 5     <parent>
 6         <groupId>com.drawnblue</groupId>
 7         <artifactId>pom</artifactId>
 8         <version>0.0.1-SNAPSHOT</version>
 9     </parent>
10     <groupId>com.drawnblue</groupId>
11     <artifactId>common</artifactId>
12     <version>0.0.1-SNAPSHOT</version>
13     <name>common</name>
14     <description>Demo project for Spring Boot</description>
15 
16     <properties>
17         <java.version>1.8</java.version>
18     </properties>
19 
20     <dependencies>
21         <dependency>
22             <groupId>org.springframework.boot</groupId>
23             <artifactId>spring-boot-starter</artifactId>
24         </dependency>
25 
26         <dependency>
27             <groupId>org.springframework.boot</groupId>
28             <artifactId>spring-boot-starter-test</artifactId>
29             <scope>test</scope>
30         </dependency>
31     </dependencies>
32 
33     <build>
34         <plugins>
35             <plugin>
36                 <groupId>org.springframework.boot</groupId>
37                 <artifactId>spring-boot-maven-plugin</artifactId>
38             </plugin>
39         </plugins>
40     </build>
41 
42 </project>
View Code

dao pom

技术分享图片
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 4     <modelVersion>4.0.0</modelVersion>
 5     <parent>
 6         <groupId>com.drawnblue</groupId>
 7         <artifactId>pom</artifactId>
 8         <version>0.0.1-SNAPSHOT</version>
 9     </parent>
10     <groupId>com.drawnblue</groupId>
11     <artifactId>dao</artifactId>
12     <version>0.0.1-SNAPSHOT</version>
13     <name>dao</name>
14     <description>Demo project for Spring Boot</description>
15 
16     <properties>
17         <java.version>1.8</java.version>
18     </properties>
19 
20     <dependencies>
21         <dependency>
22             <groupId>com.drawnblue</groupId>
23             <artifactId>common</artifactId>
24             <version>0.0.1-SNAPSHOT</version>
25         </dependency>
26     </dependencies>
27 
28     <build>
29         <plugins>
30             <plugin>
31                 <groupId>org.springframework.boot</groupId>
32                 <artifactId>spring-boot-maven-plugin</artifactId>
33             </plugin>
34         </plugins>
35     </build>
36 
37 </project>
View Code

user-service-api pom

技术分享图片
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 4     <modelVersion>4.0.0</modelVersion>
 5     <parent>
 6         <groupId>com.drawnblue</groupId>
 7         <artifactId>pom</artifactId>
 8         <version>0.0.1-SNAPSHOT</version>
 9     </parent>
10     <groupId>com.drawnblue</groupId>
11     <artifactId>user-service-api</artifactId>
12     <version>0.0.1-SNAPSHOT</version>
13     <name>user-service-api</name>
14     <description>Demo project for Spring Boot</description>
15 
16     <properties>
17         <java.version>1.8</java.version>
18     </properties>
19 
20     <dependencies>
21         <dependency>
22             <groupId>com.drawnblue</groupId>
23             <artifactId>common</artifactId>
24             <version>0.0.1-SNAPSHOT</version>
25         </dependency>
26     </dependencies>
27 
28     <build>
29         <plugins>
30             <plugin>
31                 <groupId>org.springframework.boot</groupId>
32                 <artifactId>spring-boot-maven-plugin</artifactId>
33             </plugin>
34         </plugins>
35     </build>
36 
37 </project>
View Code

user-service pom

技术分享图片
  1 <?xml version="1.0" encoding="UTF-8"?>
  2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4     <modelVersion>4.0.0</modelVersion>
  5     <parent>
  6         <groupId>com.drawnblue</groupId>
  7         <artifactId>pom</artifactId>
  8         <version>0.0.1-SNAPSHOT</version>
  9     </parent>
 10     <groupId>com.drawnblue</groupId>
 11     <artifactId>user-service</artifactId>
 12     <version>0.0.1-SNAPSHOT</version>
 13     <name>user-service</name>
 14     <description>Demo project for Spring Boot</description>
 15 
 16     <properties>
 17         <java.version>1.8</java.version>
 18     </properties>
 19 
 20     <dependencies>
 21         <!--local project-->
 22         <dependency>
 23             <groupId>com.drawnblue</groupId>
 24             <artifactId>common</artifactId>
 25             <version>0.0.1-SNAPSHOT</version>
 26         </dependency>
 27         <dependency>
 28             <groupId>com.drawnblue</groupId>
 29             <artifactId>dao</artifactId>
 30             <version>0.0.1-SNAPSHOT</version>
 31         </dependency>
 32         <dependency>
 33             <groupId>com.drawnblue</groupId>
 34             <artifactId>user-service-api</artifactId>
 35             <version>0.0.1-SNAPSHOT</version>
 36         </dependency>
 37 <!--spingboot-->
 38         <dependency>
 39             <groupId>org.springframework.boot</groupId>
 40             <artifactId>spring-boot-starter</artifactId>
 41         </dependency>
 42         <dependency>
 43             <groupId>org.springframework.boot</groupId>
 44             <artifactId>spring-boot-starter-web</artifactId>
 45         </dependency>
 46         <dependency>
 47             <groupId>org.springframework.boot</groupId>
 48             <artifactId>spring-boot-starter-test</artifactId>
 49             <scope>test</scope>
 50         </dependency>
 51         <dependency>
 52             <groupId>org.springframework.boot</groupId>
 53             <artifactId>spring-boot-starter-actuator</artifactId>
 54         </dependency>
 55         <!--datasource config-->
 56         <dependency>
 57             <groupId>com.alibaba</groupId>
 58             <artifactId>druid</artifactId>
 59             <version>1.1.18</version>
 60         </dependency>
 61         <dependency>
 62             <groupId>org.springframework</groupId>
 63             <artifactId>spring-jdbc</artifactId>
 64             <version>5.1.8.RELEASE</version>
 65         </dependency>
 66         <dependency>
 67             <groupId>mysql</groupId>
 68             <artifactId>mysql-connector-java</artifactId>
 69             <scope>runtime</scope>
 70         </dependency>
 71         <dependency>
 72             <groupId>org.mybatis.spring.boot</groupId>
 73             <artifactId>mybatis-spring-boot-starter</artifactId>
 74             <version>1.3.2</version>
 75         </dependency>
 76 
 77 <!--nacos config-->
 78         <dependency>
 79             <groupId>org.springframework.cloud</groupId>
 80             <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
 81             <version>0.9.0.RELEASE</version>
 82         </dependency>
 83 <!--        <dependency>
 84             <groupId>com.alibaba.boot</groupId>
 85             <artifactId>nacos-config-spring-boot-actuator</artifactId>
 86             <version>0.2.2</version>
 87         </dependency>-->
 88         <!--以下配置dubbo############################################################################## -->
 89         <!--dubbo config-->
 90         <dependency>
 91             <groupId>com.alibaba.boot</groupId>
 92             <artifactId>dubbo-spring-boot-starter</artifactId>
 93             <version>0.2.0</version>
 94             <exclusions>
 95                 <exclusion>
 96                     <groupId>com.alibaba</groupId>
 97                     <artifactId>dubbo</artifactId>
 98                 </exclusion>
 99             </exclusions>
100         </dependency>
101         <dependency>
102             <groupId>com.alibaba</groupId>
103             <artifactId>dubbo-registry-nacos</artifactId>
104             <version>0.0.1</version>
105         </dependency>
106         <dependency>
107             <groupId>com.alibaba</groupId>
108             <artifactId>dubbo</artifactId>
109             <version>2.6.5</version>
110         </dependency>
111 <!--        <dependency>
112             <groupId>com.alibaba.nacos</groupId>
113             <artifactId>nacos-client</artifactId>
114             <version>0.6.2</version>
115         </dependency>-->
116         <dependency>
117             <groupId>com.alibaba.spring</groupId>
118             <artifactId>spring-context-support</artifactId>
119             <version>1.0.2</version>
120         </dependency>
121     </dependencies>
122     <build>
123         <plugins>
124             <plugin>
125                 <groupId>org.springframework.boot</groupId>
126                 <artifactId>spring-boot-maven-plugin</artifactId>
127             </plugin>
128         </plugins>
129     </build>
130 
131 </project>
View Code

 user-service是重点,尽管连接了数据库,但是并没有写任何的dao和common,只是做个注册的小demo,该工程结构如下:

技术分享图片

application.yml

spring:
  application:
    name: user-server
####################datasource and pool configuration start
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: 123456
    url: jdbc:mysql://192.168.xxx.xxx:3306/kanxxxxxxxxxxin?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false
    type: com.alibaba.druid.pool.DruidDataSource
      # 下面为连接池的补充设置,应用到上面所有数据源中
      # 初始化大小,最小,最大
    initial-size: 5
    min-idle: 5
    max-active: 20
      # 配置获取连接等待超时的时间
    max-wait: 60000
      # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
    time-between-eviction-runs-millis: 60000
      # 配置一个连接在池中最小生存的时间,单位是毫秒
    min-evictable-idle-time-millis: 300000
    validation-query: SELECT 1 FROM DUAL
    test-while-idle: true
    test-on-borrow: false
    test-on-return: false
      # 打开PSCache,并且指定每个连接上PSCache的大小
    pool-prepared-statements: true
      #   配置监控统计拦截的filters,去掉后监控界面sql无法统计,‘wall‘用于防火墙
    max-pool-prepared-statement-per-connection-size: 20
    filters: stat,wall
    use-global-data-source-stat: true
      # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
    connect-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

######## nacous configuation
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
server:
  port: 7998
  ##  mybatis config
mybatis:
  mapper-locations: classpath:mybatis/*Mapper.xml
  type-aliases-package: com.drawnblue.entity
  #######################################################以下配置dubbo###########################################################
#dubbo:
#  application:
#    name: test
#    qos-enable: false
#    qos-port: 33333
#    qos-accept-foreign-ip: false
#  scan:
#    base-packages: com.drawnblue.userservice.impl
#  protocol:
#    name: dubbo
#    port: -1
#  registry:
#    address: nacos://127.0.0.1:8848

外部属性文件

dubbo.application.name = dubbo-provider-demo
dubbo.registry.address = nacos://127.0.0.1:8848
dubbo.protocol.name = dubbo
dubbo.protocol.port = -1
demo.service.version = 1.0.0
demo.service.name = demoService

将springboot启动类改为服务提供方的引导类

package com.drawnblue.userservice.impl;

import com.alibaba.dubbo.config.spring.context.annotation.EnableDubbo;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.PropertySource;

import java.io.IOException;

@EnableDubbo(scanBasePackages = "com.drawnblue.userservice.impl")
@PropertySource(value = "classpath:/provider-config.properties")
public class UserServiceApplication {

    public static void main(String[] args) throws IOException {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
        context.register(UserServiceApplication.class);
        context.refresh();
        System.out.println("DemoService provider is starting...");
        System.in.read();
    }
}

我们在服务提供房的接口中也采用官方示例中的方法例子,nacosTestServieImpl类(service类省略)

 1 package com.drawnblue.userservice.impl;
 2 
 3 import com.alibaba.dubbo.config.annotation.Service;
 4 import com.alibaba.dubbo.rpc.RpcContext;
 5 import com.drawnblue.userservice.NacosTestService;
 6 import org.springframework.beans.factory.annotation.Value;
 7 
 8 @Service(version = "${demo.service.version}",interfaceClass = NacosTestService.class)
 9 public class NacosTestServiceImpl implements NacosTestService {
10     @Value("${demo.service.name}")
11     private String serviceName;
12     @Override
13     public String sayName(String name) {
14         RpcContext rpcContext = RpcContext.getContext();
15         return String.format("Service [name :%s , port : %d] %s(\"%s\") : Hello,%s",
16                 serviceName,
17                 rpcContext.getLocalPort(),
18                 rpcContext.getMethodName(),
19                 name,
20                 name);
21     }
22 }

需要注意的是该注解的service采用的是dubbo的注解,不要搞错了

一切写完后,我们就可以启动服务了,启动成功可以看到控制台如下:

技术分享图片
D:\topbandSoft\java\jdk1.8\bin\java.exe "-javaagent:D:\IDEA\IntelliJ IDEA 2018.2.4\lib\idea_rt.jar=63778:D:\IDEA\IntelliJ IDEA 2018.2.4\bin" -Dfile.encoding=UTF-8 -classpath D:\topbandSoft\java\jdk1.8\jre\lib\charsets.jar;D:\topbandSoft\java\jdk1.8\jre\lib\deploy.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\access-bridge-64.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\cldrdata.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\dnsns.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\jaccess.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\jfxrt.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\localedata.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\nashorn.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\sunec.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\sunjce_provider.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\sunmscapi.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\sunpkcs11.jar;D:\topbandSoft\java\jdk1.8\jre\lib\ext\zipfs.jar;D:\topbandSoft\java\jdk1.8\jre\lib\javaws.jar;D:\topbandSoft\java\jdk1.8\jre\lib\jce.jar;D:\topbandSoft\java\jdk1.8\jre\lib\jfr.jar;D:\topbandSoft\java\jdk1.8\jre\lib\jfxswt.jar;D:\topbandSoft\java\jdk1.8\jre\lib\jsse.jar;D:\topbandSoft\java\jdk1.8\jre\lib\management-agent.jar;D:\topbandSoft\java\jdk1.8\jre\lib\plugin.jar;D:\topbandSoft\java\jdk1.8\jre\lib\resources.jar;D:\topbandSoft\java\jdk1.8\jre\lib\rt.jar;G:\drawnblue\springcloud-alibaba\user-service\target\classes;G:\drawnblue\springcloud-alibaba\common\target\classes;G:\drawnblue\springcloud-alibaba\dao\target\classes;G:\drawnblue\springcloud-alibaba\user-service-api\target\classes;G:\sharp\repo\org\springframework\boot\spring-boot-starter\2.1.6.RELEASE\spring-boot-starter-2.1.6.RELEASE.jar;G:\sharp\repo\org\springframework\boot\spring-boot\2.1.6.RELEASE\spring-boot-2.1.6.RELEASE.jar;G:\sharp\repo\org\springframework\boot\spring-boot-autoconfigure\2.1.6.RELEASE\spring-boot-autoconfigure-2.1.6.RELEASE.jar;G:\sharp\repo\org\springframework\boot\spring-boot-starter-logging\2.1.6.RELEASE\spring-boot-starter-logging-2.1.6.RELEASE.jar;G:\sharp\repo\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;G:\sharp\repo\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;G:\sharp\repo\org\apache\logging\log4j\log4j-to-slf4j\2.11.2\log4j-to-slf4j-2.11.2.jar;G:\sharp\repo\org\apache\logging\log4j\log4j-api\2.11.2\log4j-api-2.11.2.jar;G:\sharp\repo\org\slf4j\jul-to-slf4j\1.7.26\jul-to-slf4j-1.7.26.jar;G:\sharp\repo\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;G:\sharp\repo\org\springframework\spring-core\5.1.8.RELEASE\spring-core-5.1.8.RELEASE.jar;G:\sharp\repo\org\springframework\spring-jcl\5.1.8.RELEASE\spring-jcl-5.1.8.RELEASE.jar;G:\sharp\repo\org\yaml\snakeyaml\1.23\snakeyaml-1.23.jar;G:\sharp\repo\org\springframework\boot\spring-boot-starter-web\2.1.6.RELEASE\spring-boot-starter-web-2.1.6.RELEASE.jar;G:\sharp\repo\org\springframework\boot\spring-boot-starter-json\2.1.6.RELEASE\spring-boot-starter-json-2.1.6.RELEASE.jar;G:\sharp\repo\com\fasterxml\jackson\core\jackson-databind\2.9.9\jackson-databind-2.9.9.jar;G:\sharp\repo\com\fasterxml\jackson\core\jackson-annotations\2.9.0\jackson-annotations-2.9.0.jar;G:\sharp\repo\com\fasterxml\jackson\core\jackson-core\2.9.9\jackson-core-2.9.9.jar;G:\sharp\repo\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.9.9\jackson-datatype-jdk8-2.9.9.jar;G:\sharp\repo\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.9.9\jackson-datatype-jsr310-2.9.9.jar;G:\sharp\repo\com\fasterxml\jackson\module\jackson-module-parameter-names\2.9.9\jackson-module-parameter-names-2.9.9.jar;G:\sharp\repo\org\springframework\boot\spring-boot-starter-tomcat\2.1.6.RELEASE\spring-boot-starter-tomcat-2.1.6.RELEASE.jar;G:\sharp\repo\org\apache\tomcat\embed\tomcat-embed-core\9.0.21\tomcat-embed-core-9.0.21.jar;G:\sharp\repo\org\apache\tomcat\embed\tomcat-embed-el\9.0.21\tomcat-embed-el-9.0.21.jar;G:\sharp\repo\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.21\tomcat-embed-websocket-9.0.21.jar;G:\sharp\repo\org\hibernate\validator\hibernate-validator\6.0.17.Final\hibernate-validator-6.0.17.Final.jar;G:\sharp\repo\javax\validation\validation-api\2.0.1.Final\validation-api-2.0.1.Final.jar;G:\sharp\repo\org\jboss\logging\jboss-logging\3.3.2.Final\jboss-logging-3.3.2.Final.jar;G:\sharp\repo\com\fasterxml\classmate\1.4.0\classmate-1.4.0.jar;G:\sharp\repo\org\springframework\spring-web\5.1.8.RELEASE\spring-web-5.1.8.RELEASE.jar;G:\sharp\repo\org\springframework\spring-webmvc\5.1.8.RELEASE\spring-webmvc-5.1.8.RELEASE.jar;G:\sharp\repo\org\springframework\spring-aop\5.1.8.RELEASE\spring-aop-5.1.8.RELEASE.jar;G:\sharp\repo\org\springframework\spring-expression\5.1.8.RELEASE\spring-expression-5.1.8.RELEASE.jar;G:\sharp\repo\org\slf4j\slf4j-api\1.7.26\slf4j-api-1.7.26.jar;G:\sharp\repo\org\springframework\boot\spring-boot-starter-actuator\2.1.6.RELEASE\spring-boot-starter-actuator-2.1.6.RELEASE.jar;G:\sharp\repo\org\springframework\boot\spring-boot-actuator-autoconfigure\2.1.6.RELEASE\spring-boot-actuator-autoconfigure-2.1.6.RELEASE.jar;G:\sharp\repo\org\springframework\boot\spring-boot-actuator\2.1.6.RELEASE\spring-boot-actuator-2.1.6.RELEASE.jar;G:\sharp\repo\io\micrometer\micrometer-core\1.1.5\micrometer-core-1.1.5.jar;G:\sharp\repo\org\hdrhistogram\HdrHistogram\2.1.9\HdrHistogram-2.1.9.jar;G:\sharp\repo\org\latencyutils\LatencyUtils\2.0.3\LatencyUtils-2.0.3.jar;G:\sharp\repo\com\alibaba\druid\1.1.18\druid-1.1.18.jar;G:\sharp\repo\org\springframework\spring-jdbc\5.1.8.RELEASE\spring-jdbc-5.1.8.RELEASE.jar;G:\sharp\repo\org\springframework\spring-beans\5.1.8.RELEASE\spring-beans-5.1.8.RELEASE.jar;G:\sharp\repo\org\springframework\spring-tx\5.1.8.RELEASE\spring-tx-5.1.8.RELEASE.jar;G:\sharp\repo\mysql\mysql-connector-java\8.0.16\mysql-connector-java-8.0.16.jar;G:\sharp\repo\org\mybatis\spring\boot\mybatis-spring-boot-starter\1.3.2\mybatis-spring-boot-starter-1.3.2.jar;G:\sharp\repo\org\springframework\boot\spring-boot-starter-jdbc\2.1.6.RELEASE\spring-boot-starter-jdbc-2.1.6.RELEASE.jar;G:\sharp\repo\com\zaxxer\HikariCP\3.2.0\HikariCP-3.2.0.jar;G:\sharp\repo\org\mybatis\spring\boot\mybatis-spring-boot-autoconfigure\1.3.2\mybatis-spring-boot-autoconfigure-1.3.2.jar;G:\sharp\repo\org\mybatis\mybatis\3.4.6\mybatis-3.4.6.jar;G:\sharp\repo\org\mybatis\mybatis-spring\1.3.2\mybatis-spring-1.3.2.jar;G:\sharp\repo\org\springframework\cloud\spring-cloud-starter-alibaba-nacos-discovery\0.9.0.RELEASE\spring-cloud-starter-alibaba-nacos-discovery-0.9.0.RELEASE.jar;G:\sharp\repo\org\springframework\cloud\spring-cloud-alibaba-nacos-discovery\0.9.0.RELEASE\spring-cloud-alibaba-nacos-discovery-0.9.0.RELEASE.jar;G:\sharp\repo\org\springframework\cloud\spring-cloud-commons\2.1.1.RELEASE\spring-cloud-commons-2.1.1.RELEASE.jar;G:\sharp\repo\org\springframework\security\spring-security-crypto\5.1.5.RELEASE\spring-security-crypto-5.1.5.RELEASE.jar;G:\sharp\repo\org\springframework\cloud\spring-cloud-context\2.1.1.RELEASE\spring-cloud-context-2.1.1.RELEASE.jar;G:\sharp\repo\org\springframework\cloud\spring-cloud-starter-netflix-ribbon\2.1.1.RELEASE\spring-cloud-starter-netflix-ribbon-2.1.1.RELEASE.jar;G:\sharp\repo\org\springframework\cloud\spring-cloud-starter\2.1.1.RELEASE\spring-cloud-starter-2.1.1.RELEASE.jar;G:\sharp\repo\org\springframework\security\spring-security-rsa\1.0.7.RELEASE\spring-security-rsa-1.0.7.RELEASE.jar;G:\sharp\repo\org\bouncycastle\bcpkix-jdk15on\1.60\bcpkix-jdk15on-1.60.jar;G:\sharp\repo\org\bouncycastle\bcprov-jdk15on\1.60\bcprov-jdk15on-1.60.jar;G:\sharp\repo\org\springframework\cloud\spring-cloud-netflix-ribbon\2.1.1.RELEASE\spring-cloud-netflix-ribbon-2.1.1.RELEASE.jar;G:\sharp\repo\org\springframework\cloud\spring-cloud-netflix-archaius\2.1.1.RELEASE\spring-cloud-netflix-archaius-2.1.1.RELEASE.jar;G:\sharp\repo\org\springframework\cloud\spring-cloud-starter-netflix-archaius\2.1.1.RELEASE\spring-cloud-starter-netflix-archaius-2.1.1.RELEASE.jar;G:\sharp\repo\com\netflix\archaius\archaius-core\0.7.6\archaius-core-0.7.6.jar;G:\sharp\repo\com\google\code\findbugs\jsr305\3.0.1\jsr305-3.0.1.jar;G:\sharp\repo\commons-configuration\commons-configuration\1.8\commons-configuration-1.8.jar;G:\sharp\repo\com\netflix\ribbon\ribbon\2.3.0\ribbon-2.3.0.jar;G:\sharp\repo\com\netflix\ribbon\ribbon-transport\2.3.0\ribbon-transport-2.3.0.jar;G:\sharp\repo\io\reactivex\rxnetty-contexts\0.4.9\rxnetty-contexts-0.4.9.jar;G:\sharp\repo\io\reactivex\rxnetty-servo\0.4.9\rxnetty-servo-0.4.9.jar;G:\sharp\repo\com\netflix\hystrix\hystrix-core\1.4.3\hystrix-core-1.4.3.jar;G:\sharp\repo\javax\inject\javax.inject\1\javax.inject-1.jar;G:\sharp\repo\io\reactivex\rxnetty\0.4.9\rxnetty-0.4.9.jar;G:\sharp\repo\com\netflix\ribbon\ribbon-core\2.3.0\ribbon-core-2.3.0.jar;G:\sharp\repo\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;G:\sharp\repo\com\netflix\ribbon\ribbon-httpclient\2.3.0\ribbon-httpclient-2.3.0.jar;G:\sharp\repo\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar;G:\sharp\repo\org\apache\httpcomponents\httpclient\4.5.9\httpclient-4.5.9.jar;G:\sharp\repo\org\apache\httpcomponents\httpcore\4.4.11\httpcore-4.4.11.jar;G:\sharp\repo\com\sun\jersey\jersey-client\1.19.1\jersey-client-1.19.1.jar;G:\sharp\repo\com\sun\jersey\jersey-core\1.19.1\jersey-core-1.19.1.jar;G:\sharp\repo\javax\ws\rs\jsr311-api\1.1.1\jsr311-api-1.1.1.jar;G:\sharp\repo\com\sun\jersey\contribs\jersey-apache-client4\1.19.1\jersey-apache-client4-1.19.1.jar;G:\sharp\repo\com\netflix\servo\servo-core\0.10.1\servo-core-0.10.1.jar;G:\sharp\repo\com\netflix\servo\servo-internal\0.10.1\servo-internal-0.10.1.jar;G:\sharp\repo\com\netflix\netflix-commons\netflix-commons-util\0.1.1\netflix-commons-util-0.1.1.jar;G:\sharp\repo\com\netflix\ribbon\ribbon-loadbalancer\2.3.0\ribbon-loadbalancer-2.3.0.jar;G:\sharp\repo\com\netflix\netflix-commons\netflix-statistics\0.1.1\netflix-statistics-0.1.1.jar;G:\sharp\repo\io\reactivex\rxjava\1.3.8\rxjava-1.3.8.jar;G:\sharp\repo\com\alibaba\boot\dubbo-spring-boot-starter\0.2.0\dubbo-spring-boot-starter-0.2.0.jar;G:\sharp\repo\org\apache\zookeeper\zookeeper\3.4.9\zookeeper-3.4.9.jar;G:\sharp\repo\jline\jline\0.9.94\jline-0.9.94.jar;G:\sharp\repo\io\netty\netty\3.10.5.Final\netty-3.10.5.Final.jar;G:\sharp\repo\org\apache\curator\curator-framework\2.12.0\curator-framework-2.12.0.jar;G:\sharp\repo\org\apache\curator\curator-client\2.12.0\curator-client-2.12.0.jar;G:\sharp\repo\com\alibaba\boot\dubbo-spring-boot-autoconfigure\0.2.0\dubbo-spring-boot-autoconfigure-0.2.0.jar;G:\sharp\repo\com\alibaba\dubbo-registry-nacos\0.0.1\dubbo-registry-nacos-0.0.1.jar;G:\sharp\repo\com\alibaba\nacos\nacos-client\0.6.0\nacos-client-0.6.0.jar;G:\sharp\repo\com\alibaba\nacos\nacos-common\0.6.0\nacos-common-0.6.0.jar;G:\sharp\repo\commons-io\commons-io\2.2\commons-io-2.2.jar;G:\sharp\repo\org\apache\commons\commons-lang3\3.8.1\commons-lang3-3.8.1.jar;G:\sharp\repo\com\alibaba\nacos\nacos-api\0.6.0\nacos-api-0.6.0.jar;G:\sharp\repo\com\alibaba\fastjson\1.2.47\fastjson-1.2.47.jar;G:\sharp\repo\com\google\guava\guava\19.0\guava-19.0.jar;G:\sharp\repo\commons-codec\commons-codec\1.11\commons-codec-1.11.jar;G:\sharp\repo\org\codehaus\jackson\jackson-mapper-lgpl\1.9.6\jackson-mapper-lgpl-1.9.6.jar;G:\sharp\repo\org\codehaus\jackson\jackson-core-lgpl\1.9.6\jackson-core-lgpl-1.9.6.jar;G:\sharp\repo\com\alibaba\dubbo\2.6.5\dubbo-2.6.5.jar;G:\sharp\repo\org\springframework\spring-context\5.1.8.RELEASE\spring-context-5.1.8.RELEASE.jar;G:\sharp\repo\org\javassist\javassist\3.20.0-GA\javassist-3.20.0-GA.jar;G:\sharp\repo\org\jboss\netty\netty\3.2.5.Final\netty-3.2.5.Final.jar;G:\sharp\repo\com\alibaba\spring\spring-context-support\1.0.2\spring-context-support-1.0.2.jar com.drawnblue.userservice.impl.UserServiceApplication
17:54:26.120 [main] DEBUG org.springframework.context.annotation.AnnotationConfigApplicationContext - Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@d70c109
17:54:26.138 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean ‘org.springframework.context.annotation.internalConfigurationAnnotationProcessor‘
17:54:26.221 [main] INFO com.alibaba.dubbo.config.spring.context.annotation.DubboConfigBindingRegistrar - The dubbo config bean definition [name : com.alibaba.dubbo.config.ApplicationConfig#0, class : com.alibaba.dubbo.config.ApplicationConfig] has been registered.
17:54:26.223 [main] INFO com.alibaba.dubbo.config.spring.context.annotation.DubboConfigBindingRegistrar - The BeanPostProcessor bean definition [com.alibaba.dubbo.config.spring.beans.factory.annotation.DubboConfigBindingBeanPostProcessor] for dubbo config bean [name : com.alibaba.dubbo.config.ApplicationConfig#0] has been registered.
17:54:26.223 [main] DEBUG com.alibaba.dubbo.config.spring.context.annotation.DubboConfigBindingRegistrar - There is no property for binding to dubbo config class [com.alibaba.dubbo.config.ModuleConfig] within prefix [dubbo.module]
17:54:26.223 [main] INFO com.alibaba.dubbo.config.spring.context.annotation.DubboConfigBindingRegistrar - The dubbo config bean definition [name : com.alibaba.dubbo.config.RegistryConfig#0, class : com.alibaba.dubbo.config.RegistryConfig] has been registered.
17:54:26.223 [main] INFO com.alibaba.dubbo.config.spring.context.annotation.DubboConfigBindingRegistrar - The BeanPostProcessor bean definition [com.alibaba.dubbo.config.spring.beans.factory.annotation.DubboConfigBindingBeanPostProcessor] for dubbo config bean [name : com.alibaba.dubbo.config.RegistryConfig#0] has been registered.
17:54:26.223 [main] INFO com.alibaba.dubbo.config.spring.context.annotation.DubboConfigBindingRegistrar - The dubbo config bean definition [name : com.alibaba.dubbo.config.ProtocolConfig#0, class : com.alibaba.dubbo.config.ProtocolConfig] has been registered.
17:54:26.223 [main] INFO com.alibaba.dubbo.config.spring.context.annotation.DubboConfigBindingRegistrar - The BeanPostProcessor bean definition [com.alibaba.dubbo.config.spring.beans.factory.annotation.DubboConfigBindingBeanPostProcessor] for dubbo config bean [name : com.alibaba.dubbo.config.ProtocolConfig#0] has been registered.
17:54:26.224 [main] DEBUG com.alibaba.dubbo.config.spring.context.annotation.DubboConfigBindingRegistrar - There is no property for binding to dubbo config class [com.alibaba.dubbo.config.MonitorConfig] within prefix [dubbo.monitor]
17:54:26.224 [main] DEBUG com.alibaba.dubbo.config.spring.context.annotation.DubboConfigBindingRegistrar - There is no property for binding to dubbo config class [com.alibaba.dubbo.config.ProviderConfig] within prefix [dubbo.provider]
17:54:26.224 [main] DEBUG com.alibaba.dubbo.config.spring.context.annotation.DubboConfigBindingRegistrar - There is no property for binding to dubbo config class [com.alibaba.dubbo.config.ConsumerConfig] within prefix [dubbo.consumer]
17:54:26.249 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean ‘com.alibaba.dubbo.config.spring.beans.factory.annotation.ServiceAnnotationBeanPostProcessor#0‘
17:54:26.281 [main] INFO com.alibaba.dubbo.common.logger.LoggerFactory - using logger: com.alibaba.dubbo.common.logger.slf4j.Slf4jLoggerAdapter
17:54:26.292 [main] INFO com.alibaba.dubbo.config.spring.beans.factory.annotation.ServiceAnnotationBeanPostProcessor -  [DUBBO] BeanNameGenerator bean can‘t be found in BeanFactory with name [org.springframework.context.annotation.internalConfigurationBeanNameGenerator], dubbo version: 2.6.5, current host: 192.168.26.30
17:54:26.292 [main] INFO com.alibaba.dubbo.config.spring.beans.factory.annotation.ServiceAnnotationBeanPostProcessor -  [DUBBO] BeanNameGenerator will be a instance of org.springframework.context.annotation.AnnotationBeanNameGenerator , it maybe a potential problem on bean name generation., dubbo version: 2.6.5, current host: 192.168.26.30
17:54:26.306 [main] DEBUG com.alibaba.dubbo.config.spring.context.annotation.DubboClassPathBeanDefinitionScanner - Identified candidate component class: file [G:\drawnblue\springcloud-alibaba\user-service\target\classes\com\drawnblue\userservice\impl\NacosTestServiceImpl.class]
17:54:26.309 [main] DEBUG com.alibaba.dubbo.config.spring.context.annotation.DubboClassPathBeanDefinitionScanner - Identified candidate component class: file [G:\drawnblue\springcloud-alibaba\user-service\target\classes\com\drawnblue\userservice\impl\NacosTestServiceImpl.class]
17:54:26.317 [main] DEBUG org.springframework.core.env.PropertySourcesPropertyResolver - Found key ‘demo.service.version‘ in PropertySource ‘class path resource [provider-config.properties]‘ with value of type String
17:54:26.319 [main] DEBUG org.springframework.core.env.PropertySourcesPropertyResolver - Found key ‘demo.service.version‘ in PropertySource ‘class path resource [provider-config.properties]‘ with value of type String
17:54:26.319 [main] WARN com.alibaba.dubbo.config.spring.beans.factory.annotation.ServiceAnnotationBeanPostProcessor -  [DUBBO] The BeanDefinition[Root bean: class [com.alibaba.dubbo.config.spring.ServiceBean]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] of ServiceBean has been registered with name : ServiceBean:com.drawnblue.userservice.NacosTestService:1.0.0, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:26.319 [main] INFO com.alibaba.dubbo.config.spring.beans.factory.annotation.ServiceAnnotationBeanPostProcessor -  [DUBBO] 1 annotated Dubbo‘s @Service Components { [Bean definition with name ‘nacosTestServiceImpl‘: Generic bean: class [com.drawnblue.userservice.impl.NacosTestServiceImpl]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in file [G:\drawnblue\springcloud-alibaba\user-service\target\classes\com\drawnblue\userservice\impl\NacosTestServiceImpl.class]] } were scanned under package[com.drawnblue.userservice.impl], dubbo version: 2.6.5, current host: 192.168.26.30
17:54:26.321 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean ‘org.springframework.context.event.internalEventListenerProcessor‘
17:54:26.323 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean ‘org.springframework.context.event.internalEventListenerFactory‘
17:54:26.325 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean ‘org.springframework.context.annotation.internalAutowiredAnnotationProcessor‘
17:54:26.326 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean ‘org.springframework.context.annotation.internalCommonAnnotationProcessor‘
17:54:26.332 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean ‘referenceAnnotationBeanPostProcessor‘
17:54:26.338 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean ‘com.alibaba.dubbo.config.spring.beans.factory.annotation.DubboConfigBindingBeanPostProcessor#0‘
17:54:26.391 [main] DEBUG com.alibaba.dubbo.config.spring.beans.factory.annotation.DubboConfigBindingBeanPostProcessor - DubboConfigBinder Bean can‘t be found in ApplicationContext.
17:54:26.392 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean ‘com.alibaba.dubbo.config.spring.beans.factory.annotation.DubboConfigBindingBeanPostProcessor#1‘
17:54:26.393 [main] DEBUG com.alibaba.dubbo.config.spring.beans.factory.annotation.DubboConfigBindingBeanPostProcessor - DubboConfigBinder Bean can‘t be found in ApplicationContext.
17:54:26.393 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean ‘com.alibaba.dubbo.config.spring.beans.factory.annotation.DubboConfigBindingBeanPostProcessor#2‘
17:54:26.396 [main] DEBUG com.alibaba.dubbo.config.spring.beans.factory.annotation.DubboConfigBindingBeanPostProcessor - DubboConfigBinder Bean can‘t be found in ApplicationContext.
17:54:26.402 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean ‘userServiceApplication‘
17:54:26.403 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean ‘com.alibaba.dubbo.config.spring.context.annotation.DubboConfigConfiguration$Single‘
17:54:26.405 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean ‘com.alibaba.dubbo.config.ApplicationConfig#0‘
17:54:26.482 [main] INFO com.alibaba.dubbo.config.spring.beans.factory.annotation.DubboConfigBindingBeanPostProcessor - The properties of bean [name : com.alibaba.dubbo.config.ApplicationConfig#0] have been binding by prefix of configuration properties : dubbo.application
17:54:26.482 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean ‘com.alibaba.dubbo.config.RegistryConfig#0‘
17:54:26.487 [main] INFO com.alibaba.dubbo.config.spring.beans.factory.annotation.DubboConfigBindingBeanPostProcessor - The properties of bean [name : com.alibaba.dubbo.config.RegistryConfig#0] have been binding by prefix of configuration properties : dubbo.registry
17:54:26.487 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean ‘com.alibaba.dubbo.config.ProtocolConfig#0‘
17:54:26.496 [main] INFO com.alibaba.dubbo.config.spring.beans.factory.annotation.DubboConfigBindingBeanPostProcessor - The properties of bean [name : com.alibaba.dubbo.config.ProtocolConfig#0] have been binding by prefix of configuration properties : dubbo.protocol
17:54:26.496 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean ‘nacosTestServiceImpl‘
17:54:26.499 [main] DEBUG org.springframework.core.env.PropertySourcesPropertyResolver - Found key ‘demo.service.name‘ in PropertySource ‘class path resource [provider-config.properties]‘ with value of type String
17:54:26.506 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean ‘ServiceBean:com.drawnblue.userservice.NacosTestService:1.0.0‘
17:54:26.561 [main] DEBUG com.alibaba.dubbo.common.extension.ExtensionLoader -  [DUBBO] package com.alibaba.dubbo.rpc;
import com.alibaba.dubbo.common.extension.ExtensionLoader;
public class Protocol$Adaptive implements com.alibaba.dubbo.rpc.Protocol {
public void destroy() {throw new UnsupportedOperationException("method public abstract void com.alibaba.dubbo.rpc.Protocol.destroy() of interface com.alibaba.dubbo.rpc.Protocol is not adaptive method!");
}
public int getDefaultPort() {throw new UnsupportedOperationException("method public abstract int com.alibaba.dubbo.rpc.Protocol.getDefaultPort() of interface com.alibaba.dubbo.rpc.Protocol is not adaptive method!");
}
public com.alibaba.dubbo.rpc.Exporter export(com.alibaba.dubbo.rpc.Invoker arg0) throws com.alibaba.dubbo.rpc.RpcException {
if (arg0 == null) throw new IllegalArgumentException("com.alibaba.dubbo.rpc.Invoker argument == null");
if (arg0.getUrl() == null) throw new IllegalArgumentException("com.alibaba.dubbo.rpc.Invoker argument getUrl() == null");com.alibaba.dubbo.common.URL url = arg0.getUrl();
String extName = ( url.getProtocol() == null ? "dubbo" : url.getProtocol() );
if(extName == null) throw new IllegalStateException("Fail to get extension(com.alibaba.dubbo.rpc.Protocol) name from url(" + url.toString() + ") use keys([protocol])");
com.alibaba.dubbo.rpc.Protocol extension = (com.alibaba.dubbo.rpc.Protocol)ExtensionLoader.getExtensionLoader(com.alibaba.dubbo.rpc.Protocol.class).getExtension(extName);
return extension.export(arg0);
}
public com.alibaba.dubbo.rpc.Invoker refer(java.lang.Class arg0, com.alibaba.dubbo.common.URL arg1) throws com.alibaba.dubbo.rpc.RpcException {
if (arg1 == null) throw new IllegalArgumentException("url == null");
com.alibaba.dubbo.common.URL url = arg1;
String extName = ( url.getProtocol() == null ? "dubbo" : url.getProtocol() );
if(extName == null) throw new IllegalStateException("Fail to get extension(com.alibaba.dubbo.rpc.Protocol) name from url(" + url.toString() + ") use keys([protocol])");
com.alibaba.dubbo.rpc.Protocol extension = (com.alibaba.dubbo.rpc.Protocol)ExtensionLoader.getExtensionLoader(com.alibaba.dubbo.rpc.Protocol.class).getExtension(extName);
return extension.refer(arg0, arg1);
}
}, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:26.571 [main] WARN com.alibaba.dubbo.config.spring.extension.SpringExtensionFactory -  [DUBBO] No spring extension (bean) named:defaultCompiler, try to find an extension (bean) of type java.lang.String, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:26.575 [main] WARN com.alibaba.dubbo.config.spring.extension.SpringExtensionFactory -  [DUBBO] No spring extension (bean) named:defaultCompiler, type:java.lang.String found, stop get bean., dubbo version: 2.6.5, current host: 192.168.26.30
17:54:26.732 [main] DEBUG com.alibaba.dubbo.common.extension.ExtensionLoader -  [DUBBO] package com.alibaba.dubbo.rpc;
import com.alibaba.dubbo.common.extension.ExtensionLoader;
public class ProxyFactory$Adaptive implements com.alibaba.dubbo.rpc.ProxyFactory {
public com.alibaba.dubbo.rpc.Invoker getInvoker(java.lang.Object arg0, java.lang.Class arg1, com.alibaba.dubbo.common.URL arg2) throws com.alibaba.dubbo.rpc.RpcException {
if (arg2 == null) throw new IllegalArgumentException("url == null");
com.alibaba.dubbo.common.URL url = arg2;
String extName = url.getParameter("proxy", "javassist");
if(extName == null) throw new IllegalStateException("Fail to get extension(com.alibaba.dubbo.rpc.ProxyFactory) name from url(" + url.toString() + ") use keys([proxy])");
com.alibaba.dubbo.rpc.ProxyFactory extension = (com.alibaba.dubbo.rpc.ProxyFactory)ExtensionLoader.getExtensionLoader(com.alibaba.dubbo.rpc.ProxyFactory.class).getExtension(extName);
return extension.getInvoker(arg0, arg1, arg2);
}
public java.lang.Object getProxy(com.alibaba.dubbo.rpc.Invoker arg0, boolean arg1) throws com.alibaba.dubbo.rpc.RpcException {
if (arg0 == null) throw new IllegalArgumentException("com.alibaba.dubbo.rpc.Invoker argument == null");
if (arg0.getUrl() == null) throw new IllegalArgumentException("com.alibaba.dubbo.rpc.Invoker argument getUrl() == null");com.alibaba.dubbo.common.URL url = arg0.getUrl();
String extName = url.getParameter("proxy", "javassist");
if(extName == null) throw new IllegalStateException("Fail to get extension(com.alibaba.dubbo.rpc.ProxyFactory) name from url(" + url.toString() + ") use keys([proxy])");
com.alibaba.dubbo.rpc.ProxyFactory extension = (com.alibaba.dubbo.rpc.ProxyFactory)ExtensionLoader.getExtensionLoader(com.alibaba.dubbo.rpc.ProxyFactory.class).getExtension(extName);
return extension.getProxy(arg0, arg1);
}
public java.lang.Object getProxy(com.alibaba.dubbo.rpc.Invoker arg0) throws com.alibaba.dubbo.rpc.RpcException {
if (arg0 == null) throw new IllegalArgumentException("com.alibaba.dubbo.rpc.Invoker argument == null");
if (arg0.getUrl() == null) throw new IllegalArgumentException("com.alibaba.dubbo.rpc.Invoker argument getUrl() == null");com.alibaba.dubbo.common.URL url = arg0.getUrl();
String extName = url.getParameter("proxy", "javassist");
if(extName == null) throw new IllegalStateException("Fail to get extension(com.alibaba.dubbo.rpc.ProxyFactory) name from url(" + url.toString() + ") use keys([proxy])");
com.alibaba.dubbo.rpc.ProxyFactory extension = (com.alibaba.dubbo.rpc.ProxyFactory)ExtensionLoader.getExtensionLoader(com.alibaba.dubbo.rpc.ProxyFactory.class).getExtension(extName);
return extension.getProxy(arg0);
}
}, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:26.806 [main] INFO com.alibaba.dubbo.config.AbstractConfig -  [DUBBO] The service ready on spring started. service: com.drawnblue.userservice.NacosTestService, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:26.859 [main] WARN com.alibaba.dubbo.config.AbstractConfig -  [DUBBO] Use random available port(20880) for protocol dubbo, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:26.894 [main] DEBUG com.alibaba.dubbo.common.extension.ExtensionLoader -  [DUBBO] package com.alibaba.dubbo.cache;
import com.alibaba.dubbo.common.extension.ExtensionLoader;
public class CacheFactory$Adaptive implements com.alibaba.dubbo.cache.CacheFactory {
public com.alibaba.dubbo.cache.Cache getCache(com.alibaba.dubbo.common.URL arg0, com.alibaba.dubbo.rpc.Invocation arg1) {
if (arg0 == null) throw new IllegalArgumentException("url == null");
com.alibaba.dubbo.common.URL url = arg0;
if (arg1 == null) throw new IllegalArgumentException("invocation == null");
String methodName = arg1.getMethodName();
String extName = url.getMethodParameter(methodName, "cache", "lru");
if(extName == null) throw new IllegalStateException("Fail to get extension(com.alibaba.dubbo.cache.CacheFactory) name from url(" + url.toString() + ") use keys([cache])");
com.alibaba.dubbo.cache.CacheFactory extension = (com.alibaba.dubbo.cache.CacheFactory)ExtensionLoader.getExtensionLoader(com.alibaba.dubbo.cache.CacheFactory.class).getExtension(extName);
return extension.getCache(arg0, arg1);
}
}, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:26.910 [main] DEBUG com.alibaba.dubbo.common.extension.ExtensionLoader -  [DUBBO] package com.alibaba.dubbo.monitor;
import com.alibaba.dubbo.common.extension.ExtensionLoader;
public class MonitorFactory$Adaptive implements com.alibaba.dubbo.monitor.MonitorFactory {
public com.alibaba.dubbo.monitor.Monitor getMonitor(com.alibaba.dubbo.common.URL arg0) {
if (arg0 == null) throw new IllegalArgumentException("url == null");
com.alibaba.dubbo.common.URL url = arg0;
String extName = ( url.getProtocol() == null ? "dubbo" : url.getProtocol() );
if(extName == null) throw new IllegalStateException("Fail to get extension(com.alibaba.dubbo.monitor.MonitorFactory) name from url(" + url.toString() + ") use keys([protocol])");
com.alibaba.dubbo.monitor.MonitorFactory extension = (com.alibaba.dubbo.monitor.MonitorFactory)ExtensionLoader.getExtensionLoader(com.alibaba.dubbo.monitor.MonitorFactory.class).getExtension(extName);
return extension.getMonitor(arg0);
}
}, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:26.939 [main] DEBUG com.alibaba.dubbo.common.extension.ExtensionLoader -  [DUBBO] package com.alibaba.dubbo.validation;
import com.alibaba.dubbo.common.extension.ExtensionLoader;
public class Validation$Adaptive implements com.alibaba.dubbo.validation.Validation {
public com.alibaba.dubbo.validation.Validator getValidator(com.alibaba.dubbo.common.URL arg0) {
if (arg0 == null) throw new IllegalArgumentException("url == null");
com.alibaba.dubbo.common.URL url = arg0;
String extName = url.getParameter("validation", "jvalidation");
if(extName == null) throw new IllegalStateException("Fail to get extension(com.alibaba.dubbo.validation.Validation) name from url(" + url.toString() + ") use keys([validation])");
com.alibaba.dubbo.validation.Validation extension = (com.alibaba.dubbo.validation.Validation)ExtensionLoader.getExtensionLoader(com.alibaba.dubbo.validation.Validation.class).getExtension(extName);
return extension.getValidator(arg0);
}
}, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:26.947 [main] INFO com.alibaba.dubbo.config.AbstractConfig -  [DUBBO] Export dubbo service com.drawnblue.userservice.NacosTestService to local registry, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:26.947 [main] INFO com.alibaba.dubbo.config.AbstractConfig -  [DUBBO] Export dubbo service com.drawnblue.userservice.NacosTestService to url dubbo://192.168.26.30:20880/com.drawnblue.userservice.NacosTestService?anyhost=true&application=dubbo-provider-demo&bean.name=ServiceBean:com.drawnblue.userservice.NacosTestService:1.0.0&bind.ip=192.168.26.30&bind.port=20880&dubbo=2.0.2&generic=false&interface=com.drawnblue.userservice.NacosTestService&methods=sayName&pid=10932&revision=1.0.0&side=provider&timestamp=1564480466829&version=1.0.0, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:26.947 [main] INFO com.alibaba.dubbo.config.AbstractConfig -  [DUBBO] Register dubbo service com.drawnblue.userservice.NacosTestService url dubbo://192.168.26.30:20880/com.drawnblue.userservice.NacosTestService?anyhost=true&application=dubbo-provider-demo&bean.name=ServiceBean:com.drawnblue.userservice.NacosTestService:1.0.0&bind.ip=192.168.26.30&bind.port=20880&dubbo=2.0.2&generic=false&interface=com.drawnblue.userservice.NacosTestService&methods=sayName&pid=10932&revision=1.0.0&side=provider&timestamp=1564480466829&version=1.0.0 to registry registry://127.0.0.1:8848/com.alibaba.dubbo.registry.RegistryService?application=dubbo-provider-demo&dubbo=2.0.2&pid=10932&registry=nacos&timestamp=1564480466820, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:26.953 [main] DEBUG com.alibaba.dubbo.common.extension.ExtensionLoader -  [DUBBO] package com.alibaba.dubbo.rpc.cluster;
import com.alibaba.dubbo.common.extension.ExtensionLoader;
public class Cluster$Adaptive implements com.alibaba.dubbo.rpc.cluster.Cluster {
public com.alibaba.dubbo.rpc.Invoker join(com.alibaba.dubbo.rpc.cluster.Directory arg0) throws com.alibaba.dubbo.rpc.RpcException {
if (arg0 == null) throw new IllegalArgumentException("com.alibaba.dubbo.rpc.cluster.Directory argument == null");
if (arg0.getUrl() == null) throw new IllegalArgumentException("com.alibaba.dubbo.rpc.cluster.Directory argument getUrl() == null");com.alibaba.dubbo.common.URL url = arg0.getUrl();
String extName = url.getParameter("cluster", "failover");
if(extName == null) throw new IllegalStateException("Fail to get extension(com.alibaba.dubbo.rpc.cluster.Cluster) name from url(" + url.toString() + ") use keys([cluster])");
com.alibaba.dubbo.rpc.cluster.Cluster extension = (com.alibaba.dubbo.rpc.cluster.Cluster)ExtensionLoader.getExtensionLoader(com.alibaba.dubbo.rpc.cluster.Cluster.class).getExtension(extName);
return extension.join(arg0);
}
}, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:26.961 [main] DEBUG com.alibaba.dubbo.common.extension.ExtensionLoader -  [DUBBO] package com.alibaba.dubbo.registry;
import com.alibaba.dubbo.common.extension.ExtensionLoader;
public class RegistryFactory$Adaptive implements com.alibaba.dubbo.registry.RegistryFactory {
public com.alibaba.dubbo.registry.Registry getRegistry(com.alibaba.dubbo.common.URL arg0) {
if (arg0 == null) throw new IllegalArgumentException("url == null");
com.alibaba.dubbo.common.URL url = arg0;
String extName = ( url.getProtocol() == null ? "dubbo" : url.getProtocol() );
if(extName == null) throw new IllegalStateException("Fail to get extension(com.alibaba.dubbo.registry.RegistryFactory) name from url(" + url.toString() + ") use keys([protocol])");
com.alibaba.dubbo.registry.RegistryFactory extension = (com.alibaba.dubbo.registry.RegistryFactory)ExtensionLoader.getExtensionLoader(com.alibaba.dubbo.registry.RegistryFactory.class).getExtension(extName);
return extension.getRegistry(arg0);
}
}, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:26.969 [main] WARN com.alibaba.dubbo.qos.protocol.QosProtocolWrapper -  [DUBBO] Fail to start qos server: , dubbo version: 2.6.5, current host: 192.168.26.30
java.lang.NoClassDefFoundError: io/netty/channel/EventLoopGroup
    at com.alibaba.dubbo.qos.protocol.QosProtocolWrapper.startQosServer(QosProtocolWrapper.java:95)
    at com.alibaba.dubbo.qos.protocol.QosProtocolWrapper.export(QosProtocolWrapper.java:59)
    at com.alibaba.dubbo.rpc.protocol.ProtocolListenerWrapper.export(ProtocolListenerWrapper.java:55)
    at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper.export(ProtocolFilterWrapper.java:98)
    at com.alibaba.dubbo.rpc.Protocol$Adaptive.export(Protocol$Adaptive.java)
    at com.alibaba.dubbo.config.ServiceConfig.doExportUrlsFor1Protocol(ServiceConfig.java:513)
    at com.alibaba.dubbo.config.ServiceConfig.doExportUrls(ServiceConfig.java:358)
    at com.alibaba.dubbo.config.ServiceConfig.doExport(ServiceConfig.java:317)
    at com.alibaba.dubbo.config.ServiceConfig.export(ServiceConfig.java:216)
    at com.alibaba.dubbo.config.spring.ServiceBean.export(ServiceBean.java:291)
    at com.alibaba.dubbo.config.spring.ServiceBean.onApplicationEvent(ServiceBean.java:131)
    at com.alibaba.dubbo.config.spring.ServiceBean.onApplicationEvent(ServiceBean.java:53)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:402)
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:359)
    at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:896)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:552)
    at com.drawnblue.userservice.impl.UserServiceApplication.main(UserServiceApplication.java:17)
Caused by: java.lang.ClassNotFoundException: io.netty.channel.EventLoopGroup
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 20 common frames omitted
17:54:27.069 [main] DEBUG com.alibaba.dubbo.common.extension.ExtensionLoader -  [DUBBO] package com.alibaba.dubbo.remoting;
import com.alibaba.dubbo.common.extension.ExtensionLoader;
public class Transporter$Adaptive implements com.alibaba.dubbo.remoting.Transporter {
public com.alibaba.dubbo.remoting.Client connect(com.alibaba.dubbo.common.URL arg0, com.alibaba.dubbo.remoting.ChannelHandler arg1) throws com.alibaba.dubbo.remoting.RemotingException {
if (arg0 == null) throw new IllegalArgumentException("url == null");
com.alibaba.dubbo.common.URL url = arg0;
String extName = url.getParameter("client", url.getParameter("transporter", "netty"));
if(extName == null) throw new IllegalStateException("Fail to get extension(com.alibaba.dubbo.remoting.Transporter) name from url(" + url.toString() + ") use keys([client, transporter])");
com.alibaba.dubbo.remoting.Transporter extension = (com.alibaba.dubbo.remoting.Transporter)ExtensionLoader.getExtensionLoader(com.alibaba.dubbo.remoting.Transporter.class).getExtension(extName);
return extension.connect(arg0, arg1);
}
public com.alibaba.dubbo.remoting.Server bind(com.alibaba.dubbo.common.URL arg0, com.alibaba.dubbo.remoting.ChannelHandler arg1) throws com.alibaba.dubbo.remoting.RemotingException {
if (arg0 == null) throw new IllegalArgumentException("url == null");
com.alibaba.dubbo.common.URL url = arg0;
String extName = url.getParameter("server", url.getParameter("transporter", "netty"));
if(extName == null) throw new IllegalStateException("Fail to get extension(com.alibaba.dubbo.remoting.Transporter) name from url(" + url.toString() + ") use keys([server, transporter])");
com.alibaba.dubbo.remoting.Transporter extension = (com.alibaba.dubbo.remoting.Transporter)ExtensionLoader.getExtensionLoader(com.alibaba.dubbo.remoting.Transporter.class).getExtension(extName);
return extension.bind(arg0, arg1);
}
}, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:27.101 [main] DEBUG com.alibaba.dubbo.common.extension.ExtensionLoader -  [DUBBO] package com.alibaba.dubbo.remoting;
import com.alibaba.dubbo.common.extension.ExtensionLoader;
public class Dispatcher$Adaptive implements com.alibaba.dubbo.remoting.Dispatcher {
public com.alibaba.dubbo.remoting.ChannelHandler dispatch(com.alibaba.dubbo.remoting.ChannelHandler arg0, com.alibaba.dubbo.common.URL arg1) {
if (arg1 == null) throw new IllegalArgumentException("url == null");
com.alibaba.dubbo.common.URL url = arg1;
String extName = url.getParameter("dispatcher", url.getParameter("dispather", url.getParameter("channel.handler", "all")));
if(extName == null) throw new IllegalStateException("Fail to get extension(com.alibaba.dubbo.remoting.Dispatcher) name from url(" + url.toString() + ") use keys([dispatcher, dispather, channel.handler])");
com.alibaba.dubbo.remoting.Dispatcher extension = (com.alibaba.dubbo.remoting.Dispatcher)ExtensionLoader.getExtensionLoader(com.alibaba.dubbo.remoting.Dispatcher.class).getExtension(extName);
return extension.dispatch(arg0, arg1);
}
}, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:27.109 [main] DEBUG com.alibaba.dubbo.common.extension.ExtensionLoader -  [DUBBO] package com.alibaba.dubbo.common.threadpool;
import com.alibaba.dubbo.common.extension.ExtensionLoader;
public class ThreadPool$Adaptive implements com.alibaba.dubbo.common.threadpool.ThreadPool {
public java.util.concurrent.Executor getExecutor(com.alibaba.dubbo.common.URL arg0) {
if (arg0 == null) throw new IllegalArgumentException("url == null");
com.alibaba.dubbo.common.URL url = arg0;
String extName = url.getParameter("threadpool", "fixed");
if(extName == null) throw new IllegalStateException("Fail to get extension(com.alibaba.dubbo.common.threadpool.ThreadPool) name from url(" + url.toString() + ") use keys([threadpool])");
com.alibaba.dubbo.common.threadpool.ThreadPool extension = (com.alibaba.dubbo.common.threadpool.ThreadPool)ExtensionLoader.getExtensionLoader(com.alibaba.dubbo.common.threadpool.ThreadPool.class).getExtension(extName);
return extension.getExecutor(arg0);
}
}, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:27.166 [main] DEBUG org.jboss.netty.channel.socket.nio.SelectorUtil -  [DUBBO] Using select timeout of 500, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:27.166 [main] DEBUG org.jboss.netty.channel.socket.nio.SelectorUtil -  [DUBBO] Epoll-bug workaround enabled = false, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:27.341 [main] INFO com.alibaba.dubbo.remoting.transport.AbstractServer -  [DUBBO] Start NettyServer bind /0.0.0.0:20880, export /192.168.26.30:20880, dubbo version: 2.6.5, current host: 192.168.26.30
Tue Jul 30 17:54:27 CST 2019 sun.misc.Launcher$AppClassLoader@18b4aac2 JM.Log:INFO Init JM logger with Slf4jLoggerFactory success, sun.misc.Launcher$AppClassLoader@18b4aac2
Tue Jul 30 17:54:27 CST 2019 sun.misc.Launcher$AppClassLoader@18b4aac2 JM.Log:INFO Log root path: C:\Users\Administrator\logsTue Jul 30 17:54:27 CST 2019 sun.misc.Launcher$AppClassLoader@18b4aac2 JM.Log:INFO Set nacos log path: C:\Users\Administrator\logs\nacos
17:54:27.393 [main] INFO com.alibaba.dubbo.registry.nacos.NacosRegistry -  [DUBBO] Register: dubbo://192.168.26.30:20880/com.drawnblue.userservice.NacosTestService?anyhost=true&application=dubbo-provider-demo&bean.name=ServiceBean:com.drawnblue.userservice.NacosTestService:1.0.0&dubbo=2.0.2&generic=false&interface=com.drawnblue.userservice.NacosTestService&methods=sayName&pid=10932&revision=1.0.0&side=provider&timestamp=1564480466829&version=1.0.0, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:27.490 [main] INFO com.alibaba.dubbo.registry.nacos.NacosRegistry -  [DUBBO] Subscribe: provider://192.168.26.30:20880/com.drawnblue.userservice.NacosTestService?anyhost=true&application=dubbo-provider-demo&bean.name=ServiceBean:com.drawnblue.userservice.NacosTestService:1.0.0&category=configurators&check=false&dubbo=2.0.2&generic=false&interface=com.drawnblue.userservice.NacosTestService&methods=sayName&pid=10932&revision=1.0.0&side=provider&timestamp=1564480466829&version=1.0.0, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:27.550 [main] WARN com.alibaba.dubbo.registry.nacos.NacosRegistry -  [DUBBO] Ignore empty notify urls for subscribe url provider://192.168.26.30:20880/com.drawnblue.userservice.NacosTestService?anyhost=true&application=dubbo-provider-demo&bean.name=ServiceBean:com.drawnblue.userservice.NacosTestService:1.0.0&category=configurators&check=false&dubbo=2.0.2&generic=false&interface=com.drawnblue.userservice.NacosTestService&methods=sayName&pid=10932&revision=1.0.0&side=provider&timestamp=1564480466829&version=1.0.0, dubbo version: 2.6.5, current host: 192.168.26.30
17:54:27.560 [com.alibaba.nacos.naming.client.listener] WARN com.alibaba.dubbo.registry.nacos.NacosRegistry -  [DUBBO] Ignore empty notify urls for subscribe url provider://192.168.26.30:20880/com.drawnblue.userservice.NacosTestService?anyhost=true&application=dubbo-provider-demo&bean.name=ServiceBean:com.drawnblue.userservice.NacosTestService:1.0.0&category=configurators&check=false&dubbo=2.0.2&generic=false&interface=com.drawnblue.userservice.NacosTestService&methods=sayName&pid=10932&revision=1.0.0&side=provider&timestamp=1564480466829&version=1.0.0, dubbo version: 2.6.5, current host: 192.168.26.30
DemoService provider is starting...
View Code

然后登陆nacos控制台查看

技术分享图片

点击详情查看如下:

技术分享图片

至此,服务注册到nacos上了,后面就可以整合spring-cloud-alibaba的其他的功能了。

在这个过程中刚开始服务总是注册不上,最后还是看官方文档来解决了,所以做示例时,如果出现困难一定看官方文档,认真去看

https://nacos.io/zh-cn/docs/use-nacos-with-dubbo.html

 

springboot,dubbo,nacos,spring-cloud-alibaba的整合

原文:https://www.cnblogs.com/xiaoyao-001/p/11271583.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!