gpt4 book ai didi

java - 使用 buildpack 中的 SQL 驱动程序在 Pivotal Cloud Foundry 上部署具有多个数据源的应用程序

转载 作者:行者123 更新时间:2023-11-29 10:05:08 25 4
gpt4 key购买 nike

我有一个 war 应用程序,我希望使用多个 mysql 服务来部署和配置它。当应用程序绑定(bind)到一个mysql服务时,PCF会使用java-buildpack下载的SQL驱动程序自动配置数据源。我想避免将驱动程序打包在 war 文件中。有没有办法在不进行自动配置的情况下使用构建包中的驱动程序?

java-buildpack documentation on GitHub似乎建议如果服务被命名或标记为“mysql”,那么驱动程序将被下载并放置在类路径上:

A user-provided MariaDB or MySQL service must have a name or tag with mariadb or mysql in it so that the MariaDB JDBC Framework will automatically download the JDBC driver JAR and place it on the classpath.

但是我的两个服务都标有“mysql”:

"name": "database1",
"tags": [
"mysql",
"relational"
]

但是当应用程序启动时返回错误:

Caused by: java.lang.IllegalStateException: Cannot load driver class: com.mysql.jdbc.Driver

并且在暂存应用程序时,不会下载 JDBC 驱动程序。

最佳答案

documentation link you referenced还列出了要执行的功能的要求:

Existence of a single bound MariaDB or MySQL service and no provided MariaDB or MySQL JDBC JAR.

关键词是单一。这就是为什么当您绑定(bind)了两个服务时它不起作用的原因。

我不确定你能做多少事情。当只有一个 MySQL 服务绑定(bind)但不超过一个时,它会起作用。这就是定义的行为。

接下来的选项:提交 Github 问题并请求支持您的用例,将 JDBC 驱动程序与您的应用程序打包。

关于java - 使用 buildpack 中的 SQL 驱动程序在 Pivotal Cloud Foundry 上部署具有多个数据源的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52061757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com