入門
一連のプロジェクトの前で、私たちは、インタフェースがあることがわかります同じで、私たちは一人で、統一メンテナンスを抽出する必要がありますので、あなたは、より効率的な処理のプロジェクトになることができます。一方、二つのプロジェクトのMavenの依存関係は、多くの人々がプロジェクトが団結に依存確保するために協力しながらプロジェクトを支援団結を維持することができます。
シリーズ製品カタログ
ダボプロジェクトベースの学習は、(b)はダボサービスを公開します
統一バージョンダボプロジェクトベースの学習(4)と、抽出されたインターフェースので、
親プロジェクトを作成します。
私たちは、プロジェクトの依存関係のバージョンの一元管理のための親プロジェクトとして、新しいプロジェクトダボ-親を作成します。(唯一のpom.xmlファイルを保つことができる新しい完成したプロジェクトことができます)
ポンポンを梱包pom.xmlファイル属性、および対応する設定パラメータを変更し、私たちは次のように、パッケージを使用する必要がある前に、プロジェクトを設定します。
<! -包版本管理- > <プロパティ> <dubbo.version> 2.6.0 </dubbo.version> <zkclient.version> 0.10 </zkclient.version> <キュレーター-framework.version> 4.0.1 < /curator-framework.version> <fastjson.version> 1.2.46 </fastjson.version> <log4j.version> 1.2.17 </log4j.version> <SLF4J-api.version> 1.7.25 </ SLF4J-API .version> <コモンズ-lang3.version> 3.4 </commons-lang3.version> <ネッティー-all.version> 4.0.35.Final </netty-all.version> </プロパティ> <! -依赖管理- - > <dependencyManagement> <依存性> <依存> <groupIdを> com.alibaba </ groupIdを> <たartifactId>ダボ</たartifactId> <バージョン> $ {dubbo.version} </バージョン> </依存> <依存性> <のgroupId> com.101tec </のgroupId> <たartifactId> zkclient </たartifactId> <バージョン> $ {zkclient.version} </バージョン> </依存> <依存性> <のgroupId> org.apache.curator </のgroupId> <たartifactId>キュレーターフレームワーク</たartifactId> <バージョン> $ {キュレーター-framework.version} </バージョン> </依存> <依存関係> 依存関係> <groupIdを> com.alibaba </ groupIdを> <たartifactId> fastjson </たartifactId> <バージョン> $ {fastjson.version} </バージョン> </依存> <依存性> <のgroupId> log4jの</のgroupId> <たartifactId> log4jの</たartifactId> <バージョン> $ {log4j.version} </バージョン> </依存> <依存性> <のgroupId> org.slf4j < /のgroupId> <たartifactId> SLF4J-API </たartifactId> <バージョン> $ {SLF4J-api.version} </バージョン> </依存> <依存性> <のgroupId> org.apache.commons </ groupIdを> <たartifactId>コモンズ-lang3 </たartifactId> <バージョン> $ {コモンズ-lang3.version} </バージョン> </依存関係> <依存> <のgroupId> io.netty </のgroupId> <たartifactId>網状オール</たartifactId> <バージョン> $ {網状-all.version} </バージョン> </依存関係> </依存関係> </ dependencyManagement>
サブプロジェクトを作成します。
共通インタフェースサブプロジェクト
ダボ - 親プログラムを右クリックし、新しいダボ-APIプロジェクトを作成し、パブリックインターフェイス(前ここで言及建てインターフェース)として
1.余分な設定を削除、のpom.xmlファイルを変更し、ダボ、親プロジェクトを依存しています
<?xml version = "1.0"エンコード= "UTF-8"?> <プロジェクトのxmlns = "http://maven.apache.org/POM/4.0.0"のxmlnsを:XSI = "のhttp://www.w3 .ORG / 2001 / XMLスキーマ・インスタンス」 の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> <たartifactId>ダボ-API </たartifactId> <親> <groupIdを> com.dubbo </ groupIdを> <たartifactId>ダボ、親</たartifactId> <バージョン> 1.0-SNAPSHOT < /バージョン> </親> </プロジェクト>
2. pom.xmlファイルダボ - 親プロジェクトを修正し、コンフィギュレーション・モジュール、サブプロジェクトの名前を追加します
3.最後に、ダボ-APIプロジェクトでは、公共サービス・インターフェースを作成します
以下のためのパッケージ変更com.dubbo.service; / ** *パブリックインターフェイス:サービス出版社 * / パブリック・ インタフェースDemoProviderService { 公共の文字列のsayHello(文字列名); }
公開サービスのサブプロジェクト
同様に、ダボ-APIで定義されたインタフェースを実装するために、サービスプロバイダとして、新しいプロジェクトのダボ・プロバイダを作成、ダボ、親プログラムを右クリックし、
1.余分な設定を削除、のpom.xmlファイルを変更し、親プロジェクトの依存関係で定義されて加えながら、ダボ、親プロジェクトを依存しています
<?xml version = "1.0"エンコード= "UTF-8"?>
<プロジェクトのxmlns = "http://maven.apache.org/POM/4.0.0"のxmlnsを:XSI = "のhttp://www.w3 .ORG / 2001 / XMLスキーマ・インスタンス」
の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>
<たartifactId>ダボプロバイダ</たartifactId>
<親>
<のgroupId> com.dubbo </のgroupId>
<たartifactId>ダボ親</たartifactId>
<バージョン> 1.0-SNAPSHOT < /バージョン>
</親>
<依存性>
<依存>
<groupIdを> COM。ダボ</ groupIdを>
<たartifactId>ダボ-API </たartifactId>
</依存関係>
<依存性>
<groupIdを> log4jの</ groupIdを>
<のgroupId> com.alibaba </のgroupId>
<たartifactId>ダボ</たartifactId>
</依存>
<依存性>
<のgroupId> com.101tec </のgroupId>
<たartifactId> zkclient </たartifactId>
</依存>
<依存性>
<のgroupId> org.apache.curator </のgroupId>
<たartifactId>キュレーターフレームワーク</たartifactId>
</依存>
<依存性>
<のgroupId> com.alibaba </のgroupId>
<たartifactId> fastjson </たartifactId>
</依存>
<依存関係>
<たartifactId> log4jの</たartifactId>
</依存関係>
<依存性>
<のgroupId> org.slf4j </のgroupId>
<たartifactId> SLF4J-API </たartifactId>
</依存>
<依存性>
<のgroupId> org.apache.commons </のgroupId>
<たartifactId>コモンズ-lang3 </たartifactId>
</依存関係>
<依存>
<groupIdを> io.netty </ groupIdを>
<たartifactId>ネッティー-すべての</たartifactId>
</依存関係>
</依存関係>
</プロジェクト>
2. pom.xmlファイルダボ - 親プロジェクトを修正し、コンフィギュレーション・モジュール、サブプロジェクト名(省略スクリーンショットを......)を追加
3.インタフェースの実装クラスを作成しますDemoProviderServiceImpl
以下のためのパッケージ変更com.dubbo.service.impl; インポートcom.dubbo.service.DemoProviderService; / ** *サービス達成するために、内部ロジックによって掲示される * / パブリック クラスを DemoProviderServiceImpl 実装のDemoProviderService { 公共の文字列のsayHello(文字列名){ リターン「ウェイター001」。 } }
4.テスト登録サービスを実行するために、テストクラスを作成します。
テスト、成功裏に登録されたサービスプロバイダを実行します。
消費者サービスのサブプロジェクト
同様に、右クリックしてダボ - 親プログラム、新しいダボ - 消費者項目を作成、消費者へのサービスとして、提供されるサービスのダボ・プロバイダの呼び出し
親プロジェクト定義依存関係を加えながら1、過剰設定を削除、のpom.xmlファイルを変更し、ダボ親プロジェクトを依存している(コード......スクリーンショット省略)
2. pom.xmlファイルダボ - 親プロジェクトを修正し、コンフィギュレーション・モジュール、サブプロジェクト名(省略スクリーンショットを......)を追加
3.テストクラスを書く提供するサービスのダボ・プロバイダーを呼び出します
4.リモート呼び出しの結果のテスト出力を実行します
最後に、テストOK