0

我正在使用 Spring Cloud Connector 绑定到数据库。有没有什么办法可以得到绑定服务的方案?当我扩展AbstractCloudConfig并做

cloud().getSingletonServiceInfosByType(PostgresqlServiceInfo.class)...

我将提供有关 url 以及如何连接到 postgres 的信息。PostgresqlServiceInfo 等不携带计划数据。如何扩展服务信息以阅读此信息表VCAP_SERVICES

谢谢

4

1 回答 1

0

按照设计,ServiceInfoSpring Cloud 连接器中的类只携带足够的信息来创建应用程序使用服务资源所需的连接 bean。连接器被设计为与平台无关,并且不会捕获 Cloud Foundry 上可用的 、 和 等字段,因为它们可能在其他平台(例如 Heroku)上不可用planlabeltags

要将plan信息添加到 aServiceInfo中,您需要编写自己的ServiceInfo类,其中包含值的字段,然后编写 a以从框架提供CloudFoundryServiceInfoCreator的数据中填充值作为 a 。有关创建此类扩展的更多信息, 请参阅项目文档。VCAP_SERVICESMap

另一个(可能更简单)的选择是使用较新的java-cfenv项目而不是 Spring Cloud 连接器。java-cfenv仅支持 Cloud Foundry,并允许访问VCAP_SERVICES. 有关如何使用此库的示例,请参阅项目文档。

于 2019-03-14T14:27:29.410 回答