来自Java App的Pivotal Cloud代工访问服务

时间:2016-06-09 01:04:22

标签: cloudfoundry pivotal-cloud-foundry

如何从绑定到Java应用程序的用户提供的服务访问凭据。

例如,如果我创建这样的服务:

cf cups <service instance> -p "DB_URL, DB_USERNAME, DB_PASSWORD".

并绑定到Java应用程序

在Java Main中我该怎么做才能访问该服务?

`  public static void main(String[] args) throws Exception{ 

    ??????
}`

2 个答案:

答案 0 :(得分:3)

Spring Cloud Connectors可用于解析VCAP_SERVICES环境变量并在Java对象模型中提供凭据。如果您以自定义方式格式化用户提供的服务实例凭据,那么您需要编写一些extension code来告诉连接器如何解析凭据。

更好的方法是以连接器已经理解的方式格式化服务实例凭据。最简单的方法是提供单个连接字符串。 Connectors docs中有一些提示,显示了连接器可以识别各种数据库类型的凭据格式。所以你可以这样做:

cf cups <service instance> -p '{"url", "mysql://username:password@hostname:3306/dbname"}'

cf cups <service instance> -p '{"jdbcUrl": "jdbc:mysql://hostname:3306/dbname?user=username&password=password"}'

或Postgres,Oracle,DB2或SqlServer的等价物。

如果在项目中包含Spring Service Connector,则连接器将检测绑定服务并为您创建必要的连接对象(例如DataSource)。

答案 1 :(得分:0)

在Java应用程序中,您将访问VCAP_SERVICES环境变量。

您可以在此处找到详细信息: http://docs.pivotal.io/pivotalcf/1-7/services/binding-credentials.html