java—使用buildpack中的sql驱动程序在pivotal cloud foundry上部署具有多个数据源的应用程序

k4aesqcs  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(357)

我有一个war应用程序,我希望部署和配置多个mysql服务。当应用程序绑定到一个mysql服务时,pcf使用javabuildpack下载的sql驱动程序自动配置数据源。我想避免在war文件中打包驱动程序。有没有办法不用自动配置就使用buildpack中的驱动程序?
github上的java buildpack文档似乎建议,如果服务被命名或标记为“mysql”,那么驱动程序将被下载并放置在类路径上:
用户提供的mariadb或mysql服务中必须有一个带有mariadb或mysql的名称或标记,以便mariadb jdbc框架自动下载jdbc驱动程序jar并将其放置在类路径上。
但是,我的两个服务都标记为“mysql”:

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

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

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

并且在转移应用程序时,不会下载jdbc驱动程序。

jfgube3f

jfgube3f1#

您引用的文档链接还列出了要执行的功能的此要求:
存在单个绑定的mariadb或mysql服务,并且没有提供mariadb或mysql jdbc jar。
关键词是单身。这就是为什么绑定了两个服务时它不工作的原因。
我不确定你能做什么。当只有一个mysql服务绑定,但不超过一个时,它就可以工作了。这就是定义的行为。
接下来的选择:提交一个github问题并请求支持您的用例,将jdbc驱动程序打包到您的应用程序中。

相关问题