0

Я использую hikari с пружинным ботинком, локальное тестирование. Я могу видеть 50 активных соединений. После того, как я развернулся в облачный литейный цех, я могу видеть только 10 активных соединений.Cloud Foundry Bind services/cups datasource Количество соединений

spring.datasource.hikari.maximum бассейн размер = 50

Похож облако литейной службой привязки пытается перезаписать конфигурацию моего приложения. Как настроить это число в облачном литейном цехе?

может быть, кто-то получить помощь от этой ссылки, он говорит, что если вы работаете серьезное применение в производстве, необходимо настроить DataSourceConfiguration

http://cloud.spring.io/spring-cloud-connectors/spring-cloud-spring-service-connector.html#_relational_database_db2_mysql_oracle_postgresql_sql_server

https://spring.io/blog/2015/04/27/binding-to-data-services-with-spring-boot-in-cloud-foundry

ответ

1

Если вы указываете в своем проекте spring-boot-starter-cloud-connectors, то свойства базы данных Spring Boot не используются. Spring Cloud Connectors автоматически создадут и сконфигурируют факс Datasource, если вы не напишете Java-код для его ручной настройки.

Как вы нашли в Connectors docs, вы можете написать такой код, чтобы настроить свойства соединения, включая размер пула.

@Bean 
public DataSource dataSource() { 
    PoolConfig poolConfig = new PoolConfig(5, 30, 3000); 
    DataSourceConfig dbConfig = new DataSourceConfig(poolConfig, null); 
    return connectionFactory().dataSource("database-service-name", dbConfig); 
} 

Если вы хотите использовать свойство загрузочного вместо того, чтобы писать код, как это, вы можете удалить spring-boot-starter-cloud-connectors из проекта и настроить загрузочные свойства, используя vcap properties предоставленный ботинком, когда приложения запускаются на CF. Свойство maximum-pool-size должно быть выполнено, если вы настроите соединение таким образом.

0

мне пришлось искать Хикари. Согласно this article это пул соединений jdbc.

Я предполагаю, что вы развернули Hikari в качестве приложения в Cloud Foundry и создали для него CUPS-сервис. Это верно?

не может изменить сервис согласно определению CUPS. Это только создает вам экземпляр этой службы.

Попробуйте установить размер пула либо в bootstrap.yml, либо путем установки переменных среды в приложении Hikari для передачи значений по умолчанию. Возможно, вам придется настроить приложение, чтобы принять эти переменные во время выполнения.

Если это не сработает, возможно, вам придется создать свой собственный сервисный брокер или создать плитку. Это даст вам возможность управлять сервисом.

Надеюсь, это поможет!

+0

Я попытался установить в bootstrap.yml и установить переменные окружения. И я тоже пытался использовать dhcp и c3p0, кажется, все эти настройки пула соединений с базой данных перезаписаны облачным сервисом литейного производства/привязкой чашек. –

+0

Если вы посмотрите на 'cf cups --help', вы заметите, что нет возможности управлять фактическими данными о сервисе в любом месте. . Сама служба должна быть настроена для установки значений по умолчанию. Возможно, вам придется написать сервис-брокера. –