クラス CloudFoundryVcapEnvironmentPostProcessor
java.lang.ObjectSE
org.springframework.boot.cloud.CloudFoundryVcapEnvironmentPostProcessor
- 実装されたすべてのインターフェース:
EnvironmentPostProcessor
,Ordered
public class CloudFoundryVcapEnvironmentPostProcessor
extends ObjectSE
implements EnvironmentPostProcessor, Ordered
既存の環境で VCAP(別名 Cloud Foundry)メタデータを見つける場所を知っている
EnvironmentPostProcessor
。VCAP_APPLICATION および VCAP_SERVICES メタデータを解析し、Environment
ユーザーが簡単に使用できる形式でダンプします。アプリが Cloud Foundry で実行されている場合、両方のメタデータアイテムは OS 環境変数でエンコードされた JSON オブジェクトです。VCAP_APPLICATION は、アプリケーションに関する基本情報(名前、インスタンス ID、インスタンスインデックスなど)を含む浅いハッシュであり、VCAP_SERVICES は、キーがサービスラベルであり、値がサービスインスタンスメタデータのハッシュのリストであるリストのハッシュです。例は次のとおりです。VCAP_APPLICATION: {"instance_id":"2ce0ac627a6c8e47e936d829a3a47b5b","instance_index":0, "version":"0138c4a6-2a73-416b-aca0-572c09f7ca53","name":"foo", "uris":["foo.cfapps.io"], ...} VCAP_SERVICES: {"rds-mysql-1.0":[{"name":"mysql","label":"rds-mysql-1.0","plan":"10mb", "credentials":{"name":"d04fb13d27d964c62b267bbba1cffb9da","hostname":"mysql-service-public.clqg2e2w3ecf.us-east-1.rds.amazonaws.com", "host":"mysql-service-public.clqg2e2w3ecf.us-east-1.rds.amazonaws.com","port":3306,"user":"urpRuqTf8Cpe6", "username":"urpRuqTf8Cpe6","password":"pxLsGVpsC9A5S"} }]}これらのオブジェクトはプロパティにフラット化されます。VCAP_APPLICATION オブジェクトはかなり明白な方法で
vcap.application.*
に直接送られ、VCAP_SERVICES オブジェクトはラップされて、サービスインスタンス名(上記の例では "mysql" など)と値が等しいオブジェクトのハッシュになります。そのインスタンスのプロパティ、および同じ方法で平坦化。例: vcap.application.instance_id: 2ce0ac627a6c8e47e936d829a3a47b5b vcap.application.version: 0138c4a6-2a73-416b-aca0-572c09f7ca53 vcap.application.name: foo vcap.application.uris[0]: foo.cfapps.io vcap.services.mysql.name: mysql vcap.services.mysql.label: rds-mysql-1.0 vcap.services.mysql.credentials.name: d04fb13d27d964c62b267bbba1cffb9da vcap.services.mysql.credentials.port: 3306 vcap.services.mysql.credentials.host: mysql-service-public.clqg2e2w3ecf.us-east-1.rds.amazonaws.com vcap.services.mysql.credentials.username: urpRuqTf8Cpe6 vcap.services.mysql.credentials.password: pxLsGVpsC9A5S ...N.B. この初期化子は、主に情報の使用を目的としています(アプリケーション ID とインスタンス ID は特に便利です)。サービスバインディングについては、Spring Cloud が Cloud Foundry の潜在的な変更に対してより便利で堅牢であることがわかります。
- 導入:
- 1.3.0
- 作成者:
- Dave Syer, Andy Wilkinson
フィールドサマリー
インターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明int
getOrder()
void
postProcessEnvironment
(ConfigurableEnvironment environment, SpringApplication application) 指定されたenvironment
を後処理します。void
setOrder
(int order)
コンストラクターの詳細
CloudFoundryVcapEnvironmentPostProcessor
新しいCloudFoundryVcapEnvironmentPostProcessor
インスタンスを作成します。- パラメーター:
logFactory
- 使用するログファクトリ- 導入:
- 3.0.0
メソッドの詳細
setOrder
public void setOrder(int order) getOrder
public int getOrder()postProcessEnvironment
public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) インターフェースからコピーされた説明:EnvironmentPostProcessor
指定されたenvironment
を後処理します。- 次で指定:
- インターフェース
EnvironmentPostProcessor
のpostProcessEnvironment
- パラメーター:
environment
- 後処理する環境application
- 環境が属するアプリケーション