問題タブ [spring-cloud-config]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-boot - Spring クラウド構成クライアントのプロパティが解決されない
私はSpring CloudとSpringの外部構成の概念に非常に慣れていません。実際、昨日から始めました。
ローカル Git リポジトリから構成を選択する 1 つの構成サーバー、構成クライアントでもある 1 つのマイクロ サービス、および 1 つの Eureka 主導のサービス検出サーバーを作成しました。
以下は、インターネット上のさまざまなリソースから主に借用したコードです-
構成サーバー - application.yml:
構成サーバー - メイン クラス (ブートストラップ)
config-repo は私のマシンのローカル git リポジトリであり、構成クライアント アプリケーションの名前を持つ .yml ファイル、つまり authmanager.yml があります。
構成サーバーを実行した後、以下はエンドポイントhttp://localhost:8888/authmanager/defaultの出力です-
マイクロ サービス + Config クライアント コード -
ブートストラップ.yml -
クライアント - メインクラス (ブートストラップ) -
構成ファイルのプロパティを使用する構成クライアントのコントローラー クラス -
わかりやすくするために、残りのコードはスキップします。
これは私が得ているエラーです -
server.port などの他のプロパティでは問題が発生していません。
Environment インターフェイスの方法も試しましたが、null も返されます。
何かポインタをください、私は今ほとんど行き止まりに達しています。
ありがとう、
AJ
spring-boot - server.port と management.port が異なる場合、/refresh を spring-cloud-client で動作させることができません
以下は、スプリング ブート アプリケーションの application.properties です。
アプリケーションを起動すると、config-server に接続し、期待どおりにプロパティをロードします。
構成サーバーのプロパティを変更し、次を使用してアプリケーションの更新をトリガーします
API は、変更されたプロパティの名前を出力します。
プロパティを取得すると、まだ古い値が表示されます
再起動をトリガーすると、新しいプロパティ値が取得されます
を使用してプロパティ値を変更しようとすると、同じ動作が表示されます
プロパティ値を取得しようとすると、まだ古い値が表示されます
management.port を 8080 (server.port と同じ) に変更すると、すべてが期待どおりに機能します。
この動作は予期されたものですか? 8080 で実行されているサーバー用と 8081 で実行されているサーバー用の 2 つの異なる環境を変更しているように見えます。
spring-cloud-config - spring cloud config server - 暗号値の復号化なし
- Spring クラウド データ フロー サーバー Cloudfoundry - 1.0.0.RELEASE
- Spring クラウド構成サーバー - 1.1.3
これは奇妙な動作です。Spring Cloud Data Flow にデプロイされた Spring Cloud Stream アプリケーションを観察しています。バインドされた構成サーバー インスタンスは、プロパティ ファイルから {cipher} プリペンドされた値をプレーン テキスト値として読み取り、それらを復号化しようとはしていません。
アプリケーションのデバッグ中に次のようなものが表示されます。
このようなものの代わりに:
構成サーバーの構成方法と、Git リポジトリーからプロパティー・ファイルをロードしているという事実に関して、他のすべては順調に進んでいるように見えます。暗号値を解読していないだけです。私たちが忘れている単純なことは何ですか?
spring-boot - クライアントでSpringクラウド構成サーバーを変更する
私は、ローカルホストのポート8001で個別に実行されている構成サーバーを備えた、スプリングブートを利用したスプリングクラウドアプリケーションを持っています。
一方、クライアント プロジェクトの bootstrap.yml ファイルでは、次のように構成クライアント アプリケーション/マイクロ サービスで場所が指定されています。
これは絶対にうまくいきます。
ただし、アプリケーション全体を異なるセットアップにデプロイする場合は、構成サーバーを異なる IP とポートで実行する必要があります。
その場合、すべてのプロジェクトで構成サーバーの IP:Port 情報を変更し、jar を再構築してデプロイすることはできません。実際、ほとんどのシナリオでは、Jenkins は別の環境で Jar を単独でビルドします。
このような状況をどのように処理できますか? bootstrap.yml で環境変数を指定できますか? はいの場合、その方法は?
なにか提案を?
Br、
AJ
spring-cloud - spring構成サーバークライアントが構成サーバーからの構成の取得に失敗したのはなぜですか?
構成リモートとしてgitlabを使用して、ローカルのSpring Boot構成サーバーをセットアップしました。うまくいきました。そして、構成サーバークライアント Web アプリをセットアップすると、この構成サーバーに正常に接続し、この構成サーバーを介して git repro から構成を取得できます。しかし、今は構成サーバーへの統合テストを行いたいので、クライアント Web アプリを構成サーバーのテスト ディレクトリに移動し、クライアントの spring.application.config.name を「configserver-tes」に変更して、クライアント Web app は、メイン クラスパスのデフォルトの application.yml を読み取らず、テスト クラスパスの bootstrap.yml を読み取りません。この場合、2 つの Web アプリケーションの両方が異なるコンテキストとポートで開始される可能性があります。質問は、クライアント Web アプリが構成サーバーから構成を読み取ることができなかったということです。この問題を解決するにはどうすればよいか教えていただけますか? または、どうすればデバッグできますか。
エラーログ:
spring-boot - 構成オブジェクトを Java オブジェクトにマップする方法
スプリング クラウド構成を使用しているスプリング ブート アプリケーションがあります。構成要素をJavaオブジェクトにマップするにはどうすればよいですか。
私の設定は次のようなものです:
そして私のJavaオブジェクトは次のとおりです。
自分の構成をリストにマップしたい