使用来自 buildpack 的 SQL 驱动程序在 Pivotal Cloud Foundry 上部署具有多个数据源的应用程序
Use SQL driver from buildpack to deploy app with multiple datasources on Pivotal Cloud Foundry
我有一个 war 应用程序,我希望使用多个 mysql 服务来部署和配置它。当应用程序绑定到一个 mysql 服务时,PCF 使用 java-buildpack 下载的 SQL 驱动程序自动配置数据源。我想避免将驱动程序打包到 war 文件中。有没有办法在没有自动配置的情况下使用 buildpack 中的驱动程序?
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"
]
但是启动应用程序时return报错:
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.
那里的关键词是单身。这就是为什么当您绑定了两个服务时它不起作用的原因。
我不确定您能做些什么。当只有一个 MySQL 服务绑定时它会工作,但不会超过一个。这是定义的行为。
未来的选择:提交一个 Github 问题并要求支持您的用例,将 JDBC 驱动程序与您的应用程序打包。
我有一个 war 应用程序,我希望使用多个 mysql 服务来部署和配置它。当应用程序绑定到一个 mysql 服务时,PCF 使用 java-buildpack 下载的 SQL 驱动程序自动配置数据源。我想避免将驱动程序打包到 war 文件中。有没有办法在没有自动配置的情况下使用 buildpack 中的驱动程序?
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"
]
但是启动应用程序时return报错:
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.
那里的关键词是单身。这就是为什么当您绑定了两个服务时它不起作用的原因。
我不确定您能做些什么。当只有一个 MySQL 服务绑定时它会工作,但不会超过一个。这是定义的行为。
未来的选择:提交一个 Github 问题并要求支持您的用例,将 JDBC 驱动程序与您的应用程序打包。