Я использую загрузку Sprint в своем приложении с postgresql в качестве БД.
Я пытаюсь подключить свой сервис Compose для postgresql к моему приложению, которое правильно развернуто в облаке.
Что я сделал:
- Я создал службу compos postgresql
- Я привязал службу к своему приложению
- Служба работает правильноbind (ibmcloud cf env nameApp)
- Создайте новый jar и перенесите приложение в облако с модификацией
- Все отлично работает
- Теперь, как подключить БД вприложение?
Решение 1: Я попытался добавить несколько зависимостей, как описано в различных документах:
- spring-cloud-spring-сервисный соединитель
- spring-cloud-localconfig-connector
- spring-cloud-cloudfoundry-connector
6.2 Добавить компонент (с помощью extends AbstractCloudConfig на класс)
@ Bean public DataSource dataSource () {return connectionFactory (). DataSource ();}
Ошибки:
- Не найдено подходящего облачного соединителя
- Невозможно запустить веб-сервер;
- Ошибка создания компонента с именем 'servletEndpointRegistrar
Решение 2
Попробуйте использовать следующие зависимости:
- bluemix-cloud-connectors-cloudfoundry
- bluemix-cloud-connectors-local
- spring-cloud-spring-service-connector
Ошибки:
- Подходящий облачный соединитель не найден
- Ошибка создания компонента с именем «cloudConfig», определенным в файле [...] Ошибка инициализации компонента;вложенное исключение - org.springframework.cloud.CloudException: не найден подходящий облачный соединитель
- Ошибка создания бина с именем 'healthIndicatorRegistry'
Решение 3
Я пробовал с помощью веб-начального комплекта: Java Web App с Spring Проблема: Слишком старая версия весенней загрузки.Я пытался перейти на 2.0 безуспешно.
Что я делаю не так?
Мой манифест следует этому шаблону:
---
applications:
- instances: 1
timeout: 180
name: I-ac-app
buildpack: java_buildpack
path: ./target/I-ac-1.0-SNAPSHOT.jar
memory: 1024M
domain: eu-gb.mybluemix.net
host: I-ac
services:
- postgresql-service