如何从绑定到Java应用程序的用户提供的服务访问凭据。
例如,如果我创建这样的服务:
cf cups <service instance> -p "DB_URL, DB_USERNAME, DB_PASSWORD".
并绑定到Java应用程序
在Java Main中我该怎么做才能访问该服务?
` public static void main(String[] args) throws Exception{
??????
}`
答案 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