Утечки памяти Java, вызванные экземплярами соединений MySQL (с участием QueryDSL)JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Утечки памяти Java, вызванные экземплярами соединений MySQL (с участием QueryDSL)

Сообщение Anonymous »

У меня на сервере возникла проблема с утечкой памяти. Сервер работает под управлением спецификаций SpringBoot 2.7.2 и JDK-11. Я изучил использование памяти кучи, взяв дамп кучи, и мне показалось, что в памяти создано около 9000 экземпляров подключения к базе данных.
Изображение

Я настроил конфигурацию базы данных, как показано ниже.

Код: Выделить всё

@Configuration
public class DataSourceConfig {

@Bean
@ConfigurationProperties(prefix = "myApp.datasource.read")
public DataSource readDataSource() {
return DataSourceBuilder.create().type(HikariDataSource.class).build();
}

@Bean
@ConfigurationProperties(prefix = "myApp.datasource.write")
public DataSource writeDataSource() {
return DataSourceBuilder.create().type(HikariDataSource.class).build();
}

@Bean
public DataSource routingDataSource() {
RoutingDataSource routingDataSource = new RoutingDataSource();
routingDataSource.setTargetDataSources(targetDataSources());
routingDataSource.setDefaultTargetDataSource(readDataSource());

return routingDataSource;
}

@Bean
public DataSource dataSource() {
return new LazyConnectionDataSourceProxy(routingDataSource());
}

private Map targetDataSources() {
Map targetDataSourceMap = new HashMap();
targetDataSourceMap.put("read", readDataSource());
targetDataSourceMap.put("write", writeDataSource());

return targetDataSourceMap;
}
}
Я предполагаю, что эти конфигурационные компоненты создаются при каждом выполнении запроса. Если вы поделитесь своим опытом относительно такой проблемы или возможными способами ее решения, мы будем очень признательны.

Подробнее здесь: https://stackoverflow.com/questions/788 ... t-querydsl
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»