17.Spring Boot統合Duboを遊ぶ

9831 ワード

Spring Bootをプレイして集めたDuboです.
      Spring Bootを使ってDubboと一体化しています.ここでは注釈を使ってみましたが、簡単に注釈登録サービスを使うのは問題ないです.そこで私は思い切ってコメントを放棄しました.XMLを使っています.ここで紹介するのはDubboxですが、Dubboxを使うなら、基本的に互換性があります.次に、XMLを使う方式とSpring Bootの開発について説明します.
1.作成プロジェクトはpom.xmlに依存を追加します.
      作成プロジェクト名:
      (1)springbook-dubbo-provide
      (2)スプリングブックt-dubbo-appi
      (3)スプリングブックt-dubbo-consume
        springbook-dubbo-appiプロジェクトは主にいくつかserviceインターフェイスを放して、消費者に使用することを提供します. .springbook-dubbo-provideプロジェクトはサービスを提供するために使われます.  springbook-dubbo-consumeプロジェクトは消費者です.springboot-dubbo-provideプロジェクトでpom.xmlを開いて以下の依存性を加えます.完全なコードは以下の通りです.

	4.0.0
	com.chengli
	springboot-dubbo-provide
	0.0.1-SNAPSHOT
	jar
	springboot-dubbo-provide
	http://maven.apache.org
	
		org.springframework.boot
		spring-boot-starter-parent
		1.4.3.RELEASE
	
	
		UTF-8
		1.8
		2.5.3
		3.4.6
		0.1
	
	
		
			com.chengli
			springboot-dubbo-api
			0.0.1-SNAPSHOT
		
		
			org.springframework.boot
			spring-boot-starter
		
		
		
			com.alibaba
			dubbo
			
				
					org.springframework
					spring
				
			
			${com.alibaba.dubbo.version}
		
		
			org.apache.zookeeper
			zookeeper
			${org.apache.zookeeper.version}
		
		
			com.github.sgroschupf
			zkclient
			${com.github.sgroschupf.zkclient.version}
		
	
	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	
springbook-dubbo-consumeプロジェクトを開けて、pom.xmlに以下の依存を入れます.完全なコードは以下の通りです.

	4.0.0
	com.chengli
	springboot-dubbo-consume
	0.0.1-SNAPSHOT
	jar
	springboot-dubbo-consume
	http://maven.apache.org
	
		org.springframework.boot
		spring-boot-starter-parent
		1.4.3.RELEASE
	
	
		UTF-8
		1.8
		2.5.3
		3.4.6
		0.1
	
	
		
			com.chengli
			springboot-dubbo-api
			0.0.1-SNAPSHOT
		
		
			org.springframework.boot
			spring-boot-starter-web
		
		
		
			com.alibaba
			dubbo
			
				
					org.springframework
					spring
				
			
			${com.alibaba.dubbo.version}
		
		
			org.apache.zookeeper
			zookeeper
			${org.apache.zookeeper.version}
		
		
			com.github.sgroschupf
			zkclient
			${com.github.sgroschupf.zkclient.version}
		
		
			org.springframework.boot
			spring-boot-configuration-processor
			true
		
	
	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	

2.Dubo配置
2.1 springbook-dubbo-provideサービスプロバイダ
      (1)springbook-dubbo-provideプロジェクトに入口起動類MainConfigを作成し、完全コードは以下の通りである.
package com.chengli.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MainConfig {
	public static void main(String[] args) {
		SpringApplication.run(MainConfig.class, args);
		try {
			System.in.read();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
      (2)Dubbo配置類の作成
package com.chengli.springboot.dubbo;

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;
import org.springframework.context.annotation.PropertySource;

@Configuration
@PropertySource("classpath:dubbo/dubbo.properties")
@ImportResource({ "classpath:dubbo/*.xml" })
public class DubboConfig {

}
     (3)Dubboプロファイルの作成
src/main/resourceにフォルダdubboを新規作成し、以下の構成を追加します.
dubbo-provider.xmlの内容は以下の通りです.



	
	

	
	
	
   
   

	
	
	
	
   
ここで私が発表したexampleサービスは一例です.具体的には実際に修正します.
    (4)dubbo.propertiesを作成する
#    
dubbo.application.name=example-provider
#      
dubbo.registry.protocol=zookeeper
#      
dubbo.registry.address=127.0.0.1:2181
#      
dubbo.protocol.name=dubbo
#      
dubbo.protocol.port=20880
2.2 springbook-dubbo-consumeサービス消費者
    (1)入り口起動類MainConfigの作成
package com.chengli.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MainConfig {
	public static void main(String[] args) {
		SpringApplication.run(MainConfig.class, args);
	}
}
    (2)Dubbo配置類の作成
package com.chengli.springboot.dubbo;

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;
import org.springframework.context.annotation.PropertySource;

@Configuration
@PropertySource("classpath:dubbo/dubbo.properties")
@ImportResource({ "classpath:dubbo/*.xml" })
public class DubboConfig {

}
    (3)Dubboプロファイルの作成
src/main/resourceにフォルダdubboを新規作成し、以下の構成を追加します.
dubbo-consume.xmlの内容は以下の通りです.



	
	

	
   
	
	
    
    (4)dubbo.propertiesを作成する
#    
dubbo.application.name=example-consume
#      
dubbo.registry.protocol=zookeeper
#      
dubbo.registry.address=127.0.0.1:2181
ここまでは基本的にはもう大丈夫ですが、テストクラスのコードは貼り付けません.APIにインターフェースを定義して実装すれば良い.
Spring Bootを使ってDubboと統合する場合、Spring Bootが提供するdevtoolsの熱起動を使わないように注意してください.devtoolsは二つのClass Loaderを提供しています.ロードポリシーの問題でエラーが発生し、起動できません.開発に熱負荷が必要なら、Springで提供されるspringloadedを使用します.
興味がある友達はグループをプラスして相互学習を探求することができます.Spring Boot QQ交流群:599546061