SpringBoot2.2.1+Dubbo2.7.4.1+DubboAdmin

1. 依赖工具

  1. SpringBoot2.2.1
  2. Dubbo2.7.4.1
  3. DubboAdmin(20191208最新版)

2. Springboot-Dubbo-Server

15758161944391.jpg
  1. 主要的依赖
  <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.0.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.codingvip</groupId>
    <artifactId>sdu-dubbo-client-boot</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>sdu-dubbo-client-boot</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>com.codingvip</groupId>
            <artifactId>stu-dubbo-client</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>2.7.4.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-registry-zookeeper</artifactId>
            <version>2.7.4.1</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

  • 1、接口实现Demo
@Service
@Component
public class UserServiceImpl implements UserService {
    @Override
    public String getName(int id) {
        return null;
    }
    @Override
    public User getUserById(int id) {
        User user = new User();
        user.setUserName("coding:Demo:" 
        user.setId(id);
        return user;
    }
    @Override
    public User getUser(UserParam param) {
        return null;
    }
    }
    
  • 2、启动类
@EnableDubbo
@SpringBootApplication
public class SduDubboServerBootApplication {


 
   public static void main(String[] args) {
        SpringApplication.run(SduDubboServerBootApplication.class, args);
    }


}
  • 3、application.properties
dubbo.application.name=simple
dubbo.registry.address=zookeeper://localhost:2181
dubbo.protocol.name=dubbo
dubbo.protocol.port=-1

  • 4、启动结查如下:
2019-12-08 22:31:53.878  INFO 73677 --- [localhost:2181)] org.apache.zookeeper.ClientCnxn          : Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181. Will not attempt to authenticate using SASL (unknown error)
2019-12-08 22:31:53.878  INFO 73677 --- [           main] o.a.c.f.imps.CuratorFrameworkImpl        : Default schema
2019-12-08 22:31:53.907  INFO 73677 --- [localhost:2181)] org.apache.zookeeper.ClientCnxn          : Socket connection established to localhost/0:0:0:0:0:0:0:1:2181, initiating session
2019-12-08 22:31:53.922  INFO 73677 --- [localhost:2181)] org.apache.zookeeper.ClientCnxn          : Session establishment complete on server localhost/0:0:0:0:0:0:0:1:2181, sessionid = 0x1000156f6df0014, negotiated timeout = 40000
2019-12-08 22:31:53.930  INFO 73677 --- [ain-EventThread] o.a.c.f.state.ConnectionStateManager     : State change: CONNECTED
2019-12-08 22:31:54.483  INFO 73677 --- [           main] c.c.s.SduDubboServerBootApplication      : Started SduDubboServerBootApplication in 3.565 seconds (JVM running for 4.918)
2019-12-08 22:31:54.487  INFO 73677 --- [pool-1-thread-1] .b.c.e.AwaitingNonWebApplicationListener :   [Dubbo] Current Spring Boot Application is await...

3. Springboot-Dubbo-Client

    1. 主要的依赖
      与server端的依赖何持一致即可:
    1. 启动类
@EnableDubbo
@SpringBootApplication
public class SduDubboClientBootApplication {
    @Reference
    UserService userService;
    public static void main(String[] args) {  SpringApplication.run(SduDubboClientBootApplication.class, args).close();
        System.out.println("调用完成");
    }
    @Bean
    public ApplicationRunner getBean() {
        return args -> {
        System.out.println(userService.getUserById(123));
        };
    }

}
    1. application.properties
      测试过程中发现服务总是无法调通。调整了一下dubbo.reference.timeout即可;
dubbo.application.name=youngMan
dubbo.registry.address=zookeeper://localhost:2181
dubbo.reference.timeout=5000
  • 4.启动结查如下:
User{id=11, userName='coding:Demo:', age=0, sex='null'}
2019-12-08 22:34:55.429  INFO 74177 --- [pool-1-thread-1] .b.c.e.AwaitingNonWebApplicationListener :  [Dubbo] Current Spring Boot Application is await...
2019-12-08 22:34:55.430  INFO 74177 --- [           main] .b.c.e.AwaitingNonWebApplicationListener :  [Dubbo] Current Spring Boot Application is about to shutdown...
2019-12-08 22:34:55.438  INFO 74177 --- [tor-Framework-0] o.a.c.f.imps.CuratorFrameworkImpl        : backgroundOperationsLoop exiting
2019-12-08 22:34:55.444  INFO 74177 --- [ain-EventThread] org.apache.zookeeper.ClientCnxn          : EventThread shut down for session: 0x1000156f6df0016
2019-12-08 22:34:55.444  INFO 74177 --- [           main] org.apache.zookeeper.ZooKeeper           : Session: 0x1000156f6df0016 closed
2019-12-08 22:34:55.452  INFO 74177 --- [           main] f.a.ReferenceAnnotationBeanPostProcessor : org.apache.dubbo.common.bytecode.proxy0@6ada9c0c was destroying!
2019-12-08 22:34:55.452  INFO 74177 --- [           main] f.a.ReferenceAnnotationBeanPostProcessor : class org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor was destroying!
调用完成
断开与目标 VM 的连接,地址:'127.0.0.1:62058', transport: 'socket'

4. Dubbo-admin

    1. 下载最新版的dubbo-admin:
git clone https://github.com/apache/dubbo-admin
    1. 启动dubbo-admin-server
      注意为避免端口冲突,修改一下
      /resource/application.properties中
      server.port=8888
2019-12-08 21:55:06.917  INFO 65028 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8888 (http) with context path ''
2019-12-08 22:16:21.561  INFO 65028 --- [nio-8888-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2019-12-08 22:16:21.581  INFO 65028 --- [nio-8888-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 20 ms
    1. 启动dubbo-admin-ui
      此步比较麻烦一些:
  • 修改config/index.js:
proxyTable: {
      '/': {
        target: 'http://localhost:8888/',
        changeOrigin: true,
        pathRewrite: {
          '^/': '/'
        }
      }
    },
  • node安装:
    在dubbo-admin-ui目录下执行如下命令:
npm install  --registry=https://registry.npm.taobao.org

待执行完成后运行:

 npm run dev  

结果如下:

DONE  Compiled successfully in 18504ms 10:15:55 PM
Your application is running here: http://localhost:8081  
15758182213643.jpg
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容