@DDwrt100

Как решить проблему java.sql.SQLException: Read timed out?

Добрый день.
Есть проект на Spring c двумя базами данных.
Подключение определяется следующим кодом
@Bean
    @Primary
    @ConfigurationProperties("spring.pg.datasource")
    public DataSourceProperties firstDataSourceProperties() {
        return new DataSourceProperties();
    }


    @Bean
    @ConfigurationProperties("spring.ch.datasource")
    public DataSourceProperties secondDataSourceProperties() {
        return new DataSourceProperties();
    }


    @Bean(name = "PG")
    @Primary
    @ConfigurationProperties("spring.pg.datasource.configuration")
    public DataSource firstDataSource() {
        return firstDataSourceProperties()
                .initializeDataSourceBuilder()
                .type(HikariDataSource.class)
                .build();
    }


    @Bean(name = "CH")
    @ConfigurationProperties("spring.ch.datasource.configuration")
    public DataSource secondDataSource() {
        return secondDataSourceProperties()
                .initializeDataSourceBuilder()
                .type(HikariDataSource.class)
                .build();
    }


При использовании HikariDataSource вторая база данных при запросе выдает :
java.sql.SQLException: Read timed out
	at com.github.housepower.jdbc.connect.PhysicalConnection.receiveResponse(PhysicalConnection.java:88) ~[clickhouse-native-jdbc-1.7-stable.jar:na]
	at com.github.housepower.jdbc.connect.PhysicalConnection.receiveHello(PhysicalConnection.java:72) ~[clickhouse-native-jdbc-1.7-stable.jar:na]
	at com.github.housepower.jdbc.ClickHouseConnection.serverInfo(ClickHouseConnection.java:180) ~[clickhouse-native-jdbc-1.7-stable.jar:na]
	at com.github.housepower.jdbc.ClickHouseConnection.createPhysicalInfo(ClickHouseConnection.java:164) ~[clickhouse-native-jdbc-1.7-stable.jar:na]


При этом если изменить для проблемной базы данных класс DataSource на BasicDataSource, конструкция начинает работать.

Как можно решить данную проблему? На что можно посмотреть ?
  • Вопрос задан
  • 368 просмотров
Решения вопроса 1
@DDwrt100 Автор вопроса
Вопрос решен,
Надо было добавить следующу строчку
@Bean(name = "CH")
    @ConfigurationProperties("spring.ch.datasource.configuration")
    public DataSource secondDataSource() {
<b>      HikariConfig  hikari = new HikariConfig();
      hikari.setConnectionTestQuery("show tables");</b>
        return secondDataSourceProperties()
                .initializeDataSourceBuilder()
                .type(HikariDataSource.class)
                .build();
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы