Я подключаюсь к кластеру redshift с помощью драйвера jdsbc redshift, но через некоторое время соединение обрывается. У меня tcpKeepAlive установлен на 1 минуту, но это тоже не помогло.
Вот исключение, которое я получаю:
java.sql.SQLException: [Amazon](500150) Error setting/closing
connection: Not Connected.
Вот бин соединения:
@Bean(name="redShiftConn")
public Connection connRedShift() {
Connection conn = null;
try{
Class.forName("com.amazon.redshift.jdbc42.Driver");
//Open a connection and define properties.
System.out.println("Connecting to database...");
Properties props = new Properties();
props.setProperty("user", user);
props.setProperty("password", password);
props.setProperty("tcpKeepAlive", "true");
props.setProperty("TCPKeepAliveMinutes", "1");
props.setProperty("ssl", "true");
props.setProperty("sslfactory",
"com.amazon.redshift.ssl.NonValidatingFactory");
conn =DriverManager.getConnection("jdbc:redshift://"+endpoint+":"+port+"/"+database, props);
return conn;
}catch(Exception e) {
System.out.println(e.toString());
}
return conn;
}
А вот зависимости maven:
<dependency>
<groupId>com.amazon.redshift</groupId>
<artifactId>redshift-jdbc42-no-awssdk</artifactId>
<version>1.2.10.1009</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-core</artifactId>
<version>1.11.118</version>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-redshift</artifactId>
<version>1.11.118</version>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-sts</artifactId>
<version>1.11.118</version>
<scope>runtime</scope>
<optional>true</optional>
</dependency>