Springboot統合dubbo+zookeeper

9368 ワード

Zookeeperをダウンロードしてインストールします.http://www.apache.org/dist/zookeeper/
ダウンロード後、ローカルに解凍し、「conf」フォルダに入り、Zookeeperが起動時にzoo.cfgというファイルをデフォルトのプロファイルとして探しているため、ファイル「zoo_sample.cfg」を「zoo.cfg」に変更します.
【bin】フォルダに入り、【zkServer.cmd】ファイルをダブルクリックし、Zookeeperを起動します.
springboot整合dubbo+zookeeper_第1张图片
ダウンロードDubbo-2.5.8https://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张图片
次に、消費者を作成し、消費者/生産者のサービス層パッケージ構造が一致しなければならない.消費者サービス層はインタフェースまで.生産者は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