博客详情

dubbo-2.6项目入门 (原创)

作者: 朝如青丝暮成雪
发布时间:2019-06-15 04:09:25  文章分类:java编程   阅读(743)  评论(0)
[TOC]

一.dubbo官网

官网 http://dubbo.io

托管GitHub https://github.com/alibaba/dubbo

Dubbo用户手册 http://dubbo.io/books/dubbo-user-book/ Dubbo介绍以及使用方案以及很多的实例;

Dubbo开发指南 http://dubbo.io/books/dubbo-dev-book/ Dubbo底层源码以及设计的介绍;

Dubbo管理手册 http://dubbo.io/books/dubbo-admin-book/ Dubbo注册中心,管理控制台的安装和使用;

二.dubbo入门项目搭建

1.dubboApi接口项目

DemoService.java 接口

package com.tingcream.dubboApi;

import java.util.List;

/**
 * api接口  DemoService
 * @author jelly
 *
 */
public interface DemoService {
    public  String sayHello(String name);
    public  List<String> getList(String s);
}

2.dubboProvider项目

1、pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.tingcream</groupId>
  <artifactId>dubboProvider</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>dubboProvider</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
     <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.12</version>
          <scope>test</scope>
      </dependency>

      <dependency>
          <groupId>com.tingcream</groupId>
          <artifactId>dubboApi</artifactId>
          <version>0.0.1-SNAPSHOT</version>
      </dependency>

     <dependency>
        <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.6.6</version>
        </dependency>
        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.10</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
            <version>4.0.1</version>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
            <version>4.0.35.Final</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.46</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.25</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.4</version>
        </dependency>

  </dependencies>

  <build>
    <plugins>
       <plugin>
      <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
         <version>3.6.2</version>
         <configuration>
            <target>1.8</target>   
            <source>1.8</source>
            <encoding>utf-8</encoding>
         </configuration>
      </plugin>
    </plugins>
  </build>
</project>

2、dubbo-provider.xml

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

    <!-- 应用名称 -->
    <dubbo:application name="dubbo-provider" />

    <!-- 注册中心 -->
    <dubbo:registry address="zookeeper://127.0.0.1:2181"/>

     <!--暴露的服务使用的协议+端口 dubbo 20880 -->
    <dubbo:protocol name="dubbo" port="20880"/>

     <!-- 声明一个bean  -->
    <bean id="demoService" class="com.tingcream.dubboProvider.service.DemoServiceImpl"/>

     <!-- 暴露一个service远程服务bean  -->
    <dubbo:service interface="com.tingcream.dubboApi.DemoService" ref="demoService"/>

</beans>

3、DemoServiceImpl.java

package com.tingcream.dubboProvider.service;

import java.util.ArrayList;
import java.util.List;

import com.tingcream.dubboApi.DemoService;

public class DemoServiceImpl implements DemoService{

    @Override
    public String sayHello(String name) {
         return "hello: "+name;
    }

    @Override
    public List<String> getList(String s) {
         List<String> list=new ArrayList<String>() ;
         list.add(s);
         list.add(s);
         list.add(s);
         return list ;
    }
}

4、DubboProvider.java 服务方启动类

package com.tingcream.dubboProvider;

import java.io.IOException;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class DubboProvider {

    public static void main(String[] args) {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
                new String[]{"dubbo-provider.xml"});
        context.start();
        System.out.println("启动成功");
        try {
            System.in.read();
        } catch (IOException e) {
            e.printStackTrace();
        }
        context.close();
    }
}

log4j.properties

log4j.rootLogger=DEBUG,stdout

log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.Threshold = DEBUG
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n

3.dubboConsumer项目

1、pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.tingcream</groupId>
  <artifactId>dubboConsumer</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>dubboConsumer</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.12</version>
          <scope>test</scope>
        </dependency>


      <dependency>
          <groupId>com.tingcream</groupId>
          <artifactId>dubboApi</artifactId>
          <version>0.0.1-SNAPSHOT</version>
      </dependency>

       <dependency>
         <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.6.6</version>
        </dependency>
        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.10</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
            <version>4.0.1</version>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
            <version>4.0.35.Final</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.46</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.25</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.4</version>
        </dependency>
  </dependencies>

  <build>
   <plugins>
       <plugin>
       <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
         <version>3.6.2</version>
         <configuration>
            <target>1.8</target>   
            <source>1.8</source>
            <encoding>utf-8</encoding>
         </configuration>
      </plugin>
    </plugins>
  </build>
</project>

2、dubbo-consumer.xml

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

    <!-- 应用名称  -->
    <dubbo:application name="dubbo-consumer"/>

    <!-- 注册中心 -->
    <dubbo:registry address="zookeeper://127.0.0.1:2181"/>

    <!-- 生成远程服务代理,可以与本地bean一样使用  check属性,启动时候是否检查 一般设置成false 启动时候不检查 -->
    <dubbo:reference id="demoService" check="false" interface="com.tingcream.dubboApi.DemoService"/>

</beans>

3、DubboConsumer.java 消费方启动类

package com.tingcream.dubboConsumer;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.tingcream.dubboApi.DemoService;

public class DubboConsumer {
   public static void main(String[] args) {
       ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
                new String[]{"dubbo-consumer.xml"});
        context.start();
        System.out.println("启动成功");
        DemoService demoService =  context.getBean("demoService", DemoService.class);
        String result = demoService.sayHello("张三");
        System.out.println("调用结果: "+result);
       context.close();
   }
}

log4j.properties

log4j.rootLogger=DEBUG,stdout

log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.Threshold = DEBUG
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n

4.dubbo-admin(2.6)后台

链接:https://pan.baidu.com/s/1XPreaMjsngo2ATyiPkHXHw
提取码:92yr

关键字:  dubbo
评论信息
暂无评论
发表评论

亲,您还没有登陆,暂不能评论哦! 去 登陆 | 注册

博主信息
   
数据加载中,请稍候...
文章分类
   
数据加载中,请稍候...
阅读排行
 
数据加载中,请稍候...
评论排行
 
数据加载中,请稍候...

Copyright © 叮叮声的奶酪 版权所有
备案号:鄂ICP备17018671号-1

鄂公网安备 42011102000739号