我有一个 SpringBoot
应用程序,并将其部署在 PCF
中,其中应用程序尝试使用 PCF 用户提供的服务
连接 Oracle 12c 数据库,但它因此错误而失败无法确定合适的驱动程序类
build.gradle
代码:
服务绑定(bind)正常进行。我可以在环境变量
中的VCAP_SERVICES
下看到相同的详细信息。
最佳答案
简短回答:我认为您希望 uri
为 oracle://..
。去掉 jdbc:
部分。由 Java buildpack 注入(inject)的 Spring Autoreconfiguration 代码将查看 URI 上的前缀,因此它需要 oracle://
才能知道它是 Oracle 链接。
长答案:您可能不想依赖注入(inject)的 Spring Autoreconfiguration。当它正常工作时,这很棒,但当它不工作时,可能很难理解它在做什么。
最好使用 Spring Cloud Connector 甚至更好,因为所有迹象都表明它会取代 Spring Cloud Connector,请使用 java-cfenv 。有关 java-cfenv 的详细信息,请参阅this blog post .
Spring Cloud Connector 与我上面提到的 Spring Autoreconfiguration 存在相同的问题,只不过它会非常清楚地告诉您它何时无法识别绑定(bind)服务。无论如何,如果您决定使用 SCC,请确保在 URI 中添加 oracle://
前缀。
如果您使用java-cfenv
,它会更加灵活,因此这实际上取决于您通过服务注入(inject)的属性和值。
希望有帮助!
关于java - 使用 PCF 用户提供的服务创建数据源失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57813192/