springboot整合dubbo+zookeeper

下载并安装Zookeeper:http://www.apache.org/dist/zookeeper/

下载后解压缩到本地,进入【conf】文件夹,将文件【zoo_sample.cfg】改为【zoo.cfg】,因为Zookeeper 在启动时会找zoo.cfg这个文件作为默认配置文件。

进入【bin】文件夹,双击【zkServer.cmd】文件,启动Zookeeper。

springboot整合dubbo+zookeeper_第1张图片

下载的 Dubbo-2.5.8 https://github.com/apache/incubator-dubbo/releases

下载后解压出来如下: 

springboot整合dubbo+zookeeper_第2张图片

编译打包

切换到dubbo-admin目录下,执行 mvn clean compile 进行编译,编译成功后执行 mvn clean package 来进行打包,打包成功后,会在target文件夹里生成war: 

springboot整合dubbo+zookeeper_第3张图片

将war包放到tomcat里面部署启动,dubbo-admin\src\main\webapp\WEB-INF文件夹下的dubbo.properties文件里面配置。

zookeeper地址和登录dubbo的账号密码。

springboot 生产者

springboot整合dubbo+zookeeper_第4张图片

接口

package com.example.product.service;

import java.util.List;

public interface findUser {
    /**
     *  查询信息
     * @return
     */
    List list();
}

实现类 

package com.example.product.service.serviceImpl;
import com.alibaba.dubbo.config.annotation.Service;
import com.example.product.service.findUser;
import java.util.ArrayList;
import java.util.List;
@Service
public class findUserImpl implements findUser {
    @Override
    public List list() {
        List list = new ArrayList();
        list.add("hello,duboo-provider");
        return list;
    }

}

pom依赖 

   
        
            com.alibaba
            dubbo
            2.6.1
        
        
            com.alibaba.spring.boot
            dubbo-spring-boot-starter
            2.0.0
            
                
                    com.alibaba
                    dubbo
                
            
        
        
            com.alibaba
            dubbo-registry-zookeeper
            2.6.1
            
                
                    commons-logging
                    commons-logging
                
                
                    org.apache.log4j
                    log4j
                
                
                    log4j
                    log4j
                
                
                    slf4j-log4j12
                    org.slf4j
                
            
        
        
            org.springframework.boot
            spring-boot-test
            2.1.7.RELEASE
            test
        
        
            org.springframework
            spring-test
            5.1.9.RELEASE
            test
        
        
            junit
            junit
            4.12
            test
        

 在resources下面创建dubbo-provider.xml



    
    
    
    
    

    
    
    
    
    


最后在启动类上面引入dubbo-provider.xml

@ImportResource({"classpath:dubbo-provider.xml"})

springboot整合dubbo+zookeeper_第5张图片

启动项目,在dubbo页面可以看到生产者已经注册

springboot整合dubbo+zookeeper_第6张图片

下面创建消费者,消费者/生产者的service层包结构必须一致。消费者service层到接口为止。生产者则从serviceImpl开始,但是上级包结构都是一样的。无论生产者还是消费者,xml中interface配置的路径也是相同的。

springboot整合dubbo+zookeeper_第7张图片

消费者接口与生产者接口名称目录位置都是一样的,但消费者不需要写实现类ServiceImpl

package com.example.product.service;

import java.util.List;
@Service
public interface findUser {
    /**
     *  查询信息
     * @return
     */
    List list();
}

 在resources下面创建dubbo-customer.xml




    
    
    
    
   


在启动类上面引入dubbo-customer.xml

@ImportResource({"classpath:dubbo-customer.xml"})

编写测试类text

import com.example.product.service.findUser;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.ArrayList;
import java.util.List;
@RunWith(SpringRunner.class)
@SpringBootTest
public class text {
    @Autowired
    findUser finduserService;
    @Test
    public void getUser(){
        List list = new ArrayList();
        list=finduserService.list();
        System.out.println(list.get(0));
    }
}

运行结果,hello,dubbo-provider

 

你可能感兴趣的:(dubbo)