コードジェネレータを使用して、利用可能なDubbo providerプロジェクトを迅速に構築
コードジェネレータを使用して、利用可能なDubbo providerプロジェクトを迅速に構築
本明細書で使用するコードジェネレータはdubbosupport-generatorであり、githubでオープンソースされています.https://github.com/Sailingboat1988/dubbosupport-generator
releaseページに移動して、最新バージョンの実行可能パッケージをダウンロードします.
概要
dubbosupport-generatorはdubboサンプルproviderを生成するためのコードジェネレータであり、プロジェクト名、パッケージ名などの情報をカスタマイズして生成されたプロジェクト、例えば
コードジェネレータ
ダウンロードと解凍
releaseバージョンのパッケージ、例えば
カスタムプロファイル
自分のニーズに応じて、対応する構成項目を変更します.
うんてん
実行
生成されたアイテム
例えば
以下の内容に係る経路、パケット名、ファイル名は、いずれもコードジェネレータによって生成されたプロジェクトの経路、パケット名、ファイル名を指し、本プロジェクトではなく、あなたが記入した
ローカルデバッグ
コードジェネレータは、独自のサービスクラスを記述するために参照できる例示的なサービスクラス
まず、
生成されたアイテムをMavenでパッケージ化
生成された項目
フルパッケージ
この完全なパッケージのパッケージ構成を変更する場合は、通常は変更する必要はありませんが、
dir
description
classes/
プロジェクトを保存するクラスファイルおよびプロファイル
lib/
依存jarファイルの保存に使用
bin/
実行可能ファイルの保存
bin/log.sh
ログの表示
bin/start.sh
アプリケーションの開始
bin/status.sh
実行ステータスの表示
bin/stop.sh
アプリケーションを閉じる
インタフェースパッケージ
たとえば
サービスクラスを追加した場合は、
インタフェースパッケージのパブリッシュ
チームで働いていて、チームが自分のnexusサーバ(オープンソースのmaven倉庫)を構築している場合は、あなたのインタフェースパッケージ(sample-provider-1.0-interface-only.jar)をnexusサーバに公開することができます.これにより、providerサービスを呼び出す必要がある開発者はmavenの方法で簡単にインタフェースパッケージを得ることができます.
インタフェースパッケージをnexusサーバに公開する前に、対応する権限があるかどうかを確認してください.どうすればいいか分からない場合は、次のアドバイスを参照してmaven settingsファイルを構成してください.
ユーザー名パスワードなどの情報を追加するためのMaven Settingsファイルの構成
使用している
作者に連絡する
qq 450550330 email [email protected]
本明細書で使用するコードジェネレータはdubbosupport-generatorであり、githubでオープンソースされています.https://github.com/Sailingboat1988/dubbosupport-generator
releaseページに移動して、最新バージョンの実行可能パッケージをダウンロードします.
概要
dubbosupport-generatorはdubboサンプルproviderを生成するためのコードジェネレータであり、プロジェクト名、パッケージ名などの情報をカスタマイズして生成されたプロジェクト、例えば
sample-provider
をカスタマイズすることができ、EclipseやIntellij Ideaなどの開発環境を直接インポートすることができ、mavenコマンドを直接利用してsample-provider-1.0-full.tar.gz
などの生成パッケージをコンパイルすることもできる.このパッケージは直接サーバ上で実行できますが、後述の章で詳しく説明します.コードジェネレータ
ダウンロードと解凍
releaseバージョンのパッケージ、例えば
generator-1.0.zip
をダウンロードし、解凍します.カスタムプロファイル
generator-1.0
に入り、customConfig.properties
ファイルを新規作成します.$ touch customConfig.properties
$ vim customConfig.properties
ファイルを編集し、次の内容をファイルにコピーします.groupId=com.your.company
artifactId=sample-provider
version=1.0
projectName=sample-provider
applicationName=sample-provider
basePackageName=com.your.company.sample
# empty if you wanna output the project to the current directory
outputDir=
providerPort=20890
zookeeper=localhost:2181
# maven settings
javaVersion=1.6
dubboVersion=2.5.3
springVersion=4.0.8.RELEASE
zookeeperVersion=3.3.1
# empty if you haven't any nexus repository
nexusReleaseUrl=
nexusSnapshotUrl=
nexusRepoId=
自分のニーズに応じて、対応する構成項目を変更します.
outputDir, nexusReleaseUrl, nexusSnapshotUrl, nexusRepoId
が空である場合を除き、その他は必須です.うんてん
実行
run.sh
(unix/linux/osx)またはrun.bat
(windows)$ cd generator-1.0
$ ./run.sh
or .\run.bat
生成されたアイテム
例えば
sample-provider
は、標準maven構造に適合するjavaエンジニアリングである.以下の内容に係る経路、パケット名、ファイル名は、いずれもコードジェネレータによって生成されたプロジェクトの経路、パケット名、ファイル名を指し、本プロジェクトではなく、あなたが記入した
customConfig.properties
の構成によって、経路、パケット名、ファイル名が異なります.ローカルデバッグ
コードジェネレータは、独自のサービスクラスを記述するために参照できる例示的なサービスクラス
com.your.company.sample.SimpleService
を生成する.com.your.company.sample.SimpleService
クラスをデバッグして、プロジェクトが正常かどうかを確認することもできます.まず、
src/main/resources/application.properties
の構成が正しいかどうかを確認する必要があります.特にzookeeperは、コストベースのアドレスを構成する場合、あなたのマシンはzookeeperソフトウェアをインストールして実行する必要があります.その後、providerサービスをzookeeperに登録するmainメソッドが含まれているcom.your.company.sample.Main
を実行する必要があります.その後、com.your.company.sample.SimpleServiceTest
クラスのjunitテスト例を実行します.このテスト例は、登録したばかりのproviderをsrc/test/resources/consumer.xml
で取得し、呼び出しを完了します.意外でなければ、テスト例は正常に実行されます.生成されたアイテムをMavenでパッケージ化
生成された項目
sample-provider
では、mvn clean package -Dmaven.test.skip=true
コマンドを実行してパッケージ化され、生成されたパッケージは2つ、sample-provider-1.0-full.tar.gz
とsample-provider-1.0-interface-only.jar
であるフルパッケージ
sample-provider-1.0-full.tar.gz
.このパッケージには、プログラムに必要なバイナリクラスファイル、依存jarパッケージ、実行スクリプトが含まれています.dubbo providerプログラムを起動するためにサーバにアップロードすることができます.この完全なパッケージのパッケージ構成を変更する場合は、通常は変更する必要はありませんが、
src/main/assembly/full.xml
を変更してください.dir
description
classes/
プロジェクトを保存するクラスファイルおよびプロファイル
lib/
依存jarファイルの保存に使用
bin/
実行可能ファイルの保存
bin/log.sh
ログの表示
bin/start.sh
アプリケーションの開始
bin/status.sh
実行ステータスの表示
bin/stop.sh
アプリケーションを閉じる
インタフェースパッケージ
たとえば
sample-provider-1.0-interface-only.jar
では、このパッケージにはインタフェースクラスのみが含まれており、実装クラスや他の関係のないクラスは含まれていません.nexusにパブリッシュしたり、dubboサービスを呼び出す必要がある人に直接送ったりすることができます.サービスクラスを追加した場合は、
src/main/assembly/interface-only.xml
ファイルを変更し、例を参照して独自のサービスと必要なpojoクラスを追加します.インタフェースパッケージのパブリッシュ
チームで働いていて、チームが自分のnexusサーバ(オープンソースのmaven倉庫)を構築している場合は、あなたのインタフェースパッケージ(sample-provider-1.0-interface-only.jar)をnexusサーバに公開することができます.これにより、providerサービスを呼び出す必要がある開発者はmavenの方法で簡単にインタフェースパッケージを得ることができます.
customConfig.properties
でnexusに関する情報を構成している場合は、src/main/mvn-scripts/deploy-interface-release.bat
またはsrc/main/mvn-scripts/deploy-interface-snapshot.bat
を使用して、mvn clean package
パッケージを先に実行してパッケージをnexusサーバに公開することができます.customConfig.properties
でnexusに関する情報を構成していない場合は、コード生成後にsrc/main/mvn-scripts/deploy-interface-release.bat
またはsrc/main/mvn-scripts/deploy-interface-snapshot.bat
を手動で変更することもできます.インタフェースパッケージをnexusサーバに公開する前に、対応する権限があるかどうかを確認してください.どうすればいいか分からない場合は、次のアドバイスを参照してmaven settingsファイルを構成してください.
ユーザー名パスワードなどの情報を追加するためのMaven Settingsファイルの構成
使用している
settings.xml
ファイルを見つけて、次の情報を追加します.<servers>
<server>
<id>your-nexus-repo-idid>
<username>adminusername>
<password>****password>
server>
servers>
pom.xml
ファイルに次の情報を追加します(nexus-url情報の変更に注意してください):releaseライブラリの例では、snapshotとreleaseのurlは通常異なります.<distributionManagement>
<repository>
<id>your-nexus-repo-idid>
<name>Your Nexus Repositoryname>
<url>http://your-nexus-ip:port/nexus/content/repositories/Releaseurl>
repository>
distributionManagement>
作者に連絡する
qq 450550330 email [email protected]