クラス CloudFoundryVcapEnvironmentPostProcessor

java.lang.ObjectSE
org.springframework.boot.cloud.CloudFoundryVcapEnvironmentPostProcessor
実装されたすべてのインターフェース:
EnvironmentPostProcessorOrdered

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
  • コンストラクターの詳細

    • CloudFoundryVcapEnvironmentPostProcessor

      public CloudFoundryVcapEnvironmentPostProcessor(DeferredLogFactory logFactory)
      新しい CloudFoundryVcapEnvironmentPostProcessor インスタンスを作成します。
      パラメーター:
      logFactory - 使用するログファクトリ
      導入:
      3.0.0
  • メソッドの詳細