Используйте драйвер SQL из buildpack для развертывания приложения с несколькими источниками данных в Pivotal Cloud Foundry - PullRequest
0 голосов
/ 28 августа 2018

У меня есть приложение war, которое я хочу развернуть и настроить с несколькими службами mysql. Когда приложение связано с одной службой mysql, PCF автоматически настраивает источник данных, используя драйвер SQL, загруженный пакетом java-buildpack. Я хочу избежать упаковки драйвера в файл war. Есть ли способ использовать драйвер из buildpack без автоконфигурации?

Документация java-buildpack на GitHub , по-видимому, предполагает, что если служба названа или помечена как "mysql", то драйвер будет загружен и помещен в classpath:

Предоставляемая пользователем служба MariaDB или MySQL должна иметь имя или тег с именем mariadb или mysql, чтобы платформа MariaDB JDBC Framework автоматически загружала JAR-файл драйвера JDBC и помещала его в путь к классам.

Однако оба моих сервиса помечены как "mysql":

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

Но при запуске приложения выдает ошибку:

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

А при постановке приложения драйвер JDBC не загружается.

1 Ответ

0 голосов
/ 29 августа 2018

Ссылка на документацию , на которую вы ссылались , также перечисляет это требование для выполняемой функциональности:

Наличие единой связанной службы MariaDB или MySQL и отсутствие предоставленных JAR-файлов JDBC MariaDB или MySQL.

Ключевое слово здесь single . Вот почему он не работает, если у вас есть две связанные службы.

Я не уверен, что вы многое можете сделать. Это будет работать, когда привязан только один сервис MySQL, но не более одного. Это определенное поведение.

Возможные варианты: подайте заявку на Github и попросите поддержать ваш вариант использования, упакуйте драйвер JDBC в ваше приложение.

...