序文
再構成マイクロサービスの後に、各サービスは、インスタンスの数の展開を必要とし、各インスタンスを手動で設定が変更され、変更、そうspringboot-設定を使用することは不可能です。gitのを使用したい、または内部の問題に起因するだけで、コンフィギュレーション・センターレコードの設定プロセスをSVNを使用することができます
SVNの設定をアップロードするディレクトリを作成します。
このステップでは、精巧ではないでしょう... HTTPの究極のディレクトリを://....../config-repo/trunk/**/**--dev.yml,http:// ..... ./config-repo/trunk/**/**--prod.yml
ここでは、ディレクトリ・開発、そして最終的にDEVとはprod接尾辞は、環境を区別するために使用さを区別するための幹線上の(SVNトランクは、この層は、実際には、この層は必要ありません、カタログを持っている必要がありますので、デフォルトです)
コンフィグサーバ
コンフィギュレーション・センターでもサービスであり、POMファイルを導入する必要があります
< 依存> < groupIdを> org.springframework.cloud </ groupIdを> < たartifactId >春・クラウド-config設定-サーバー</ たartifactId > </ 依存関係>
春ならばapplication.yml文書、利用SVNを以下に示します。profiles.active:Subversionはこれを指定する必要があります
サーバー:
ポート:8888
春:
ファイルアプリケーション:
名前:-config-サービス
プロファイル:
アクティブ:SVN使用して#のSubversionの
クラウドを:
設定:
サーバー:
SVN:
URI:HTTP:// ** #svnアドレス
検索パス: "{アプリケーション} " 使用#{アプリケーション}プレースホルダは、検索フォルダが認識しないか「」を追加する必要があります
ユーザー:ユーザー名
パスワード:PWD
デフォルトラベル:トランク
ユーレカ:
クライアント:
-サービス-URL:
defaultzone:http://0.0.0.0:8761/eureka /
#許可/アクチュエータ/バス・リフレッシュ手動で設定リフレッシュし、インタフェースが外部と呼ばれる
管理:
エンドポイント:
ウェブ:
露出:
含まれます: "*"
コンフィグサーバの起動クラスのサービスを追加する必要があり@EnableConfigServerのコメントを
これまでのところ、サーバーは、より良い構築は、httpにアクセスしようとし始めることができます:// 0.0.0.0: 8888 /(プロファイル名)を使用すると、通常のアクセスをできるかどうかを確認します
倉庫の設定ファイルがWebインターフェイスに変換され、アクセスは以下のルールを参照することができます:
- / {アプリケーション} / {プロファイル} / {ラベル}]
- /{application}-{profile}.yml
- /{label}/{application}-{profile}.yml
- /{application}-{profile}.properties
- /{label}/{application}-{profile}.properties
例としてneo-config-dev.propertiesでは、そのアプリケーションが新設定され、プロファイルがDEVです。クライアントがいっぱいに応じて対応する構成パラメータを読みすることもできます
SVNの最新バージョンからの読み込みCONFIGSERVER毎回
クライアント(マイクロサーバ)
依存追加
< 依存性> < のgroupId > org.springframework.cloud </ のgroupId > < たartifactId >ばねクラウドスタータ設定</ たartifactId > </ 依存> < 依存性> < のgroupId > org.springframework.boot </ のgroupId > < たartifactId >春・ブート・スターター・ウェブ</ たartifactId > </ 依存関係> < 依存> <groupId >org.springframework.boot </ のgroupId > < たartifactId >ばねブートスタータ試験</ たartifactId > < スコープ>テスト</ スコープ> </ 依存>
各サービスの設定ファイルは、名前のbootstrap.ymlを必要とする、springbootの優先度は起動時に設定ファイルの名前を読みます
春:
アプリケーション:
名前:エントリーサービス
プロファイル:
アクティブ:Subversionの
クラウド:
設定:
名:{アプリケーション}
ラベル:トランク
ディスカバリー:
有効:trueに
サービス名サービス-config設定#レジストリ:サービス-上記ID述べ
プロフィール:DEV#コンフィギュレーションを指定します環境ファイル
ユーレカ:
クライアント:
serviceURLの:
defaultzone:http://0.0.0.0:8761/eureka/
設定ファイルとして、あなたは物流センターのIDがapplication.nameの実際の設定、サーバーにある指定した後、春のsvnを使用する必要があります。Profiles.active:Subversionのこれも指定する必要があります
注入@valueで使用するコンフィギュレーション・クラスで、設定した後、コンフィギュレーション・センターからの読み取りを開始し@RefreshScope、およびアクセス/アクチュエータ/リフレッシュは、設定をリフレッシュすることができます
二つの問題が発生しました:
1.データ項目は@Bean注射で、カスタムデータソースデータソース構成を使用して、マルチソースであるため。
デフォルトの接続プールを使用して上記のひかりSpringBoot 2.0は、接続プールは、一度始め、HikariDataSourceを編集するので、リフレッシュの設定、エラーに関連付けられたデータソースを更新することはできません。
java.lang.IllegalStateException:によって引き起こされる、プールの設定は、一度開始密閉されています。実行時の変更のためのHikariConfigMXBeanを使用してください。
解決策:データソースのカスタムにコメント@RefreshScopeを追加、またはspring.scloud.refresh.extra-リフレッシュ構成を使用するには、クラス名のリストを指定することができます。
2. /リフレッシュメッセージ404、2.0 SpringBoot後インターフェイス/アクチュエータ/リフレッシュ、およびポスト許可を要求しなければなりません