クラス 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
フィールドのサマリー
インターフェース Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCEコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明intgetOrder()voidpostProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) 指定されたenvironmentを後処理します。voidsetOrder(int order)
コンストラクターの詳細
CloudFoundryVcapEnvironmentPostProcessor
新しいCloudFoundryVcapEnvironmentPostProcessorインスタンスを作成します。- パラメーター:
logFactory- 使用するログファクトリ- 導入:
- 3.0.0
メソッドの詳細
setOrder
public void setOrder(int order) getOrder
postProcessEnvironment
public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) インターフェースからコピーされた説明:EnvironmentPostProcessor指定されたenvironmentを後処理します。- 次で指定:
- インターフェース
EnvironmentPostProcessorのpostProcessEnvironment - パラメーター:
environment- 後処理する環境application- 環境が属するアプリケーション