Skip to content

Commit f2cf8ed

Browse files
committed
Database reconection
1 parent 5387e08 commit f2cf8ed

File tree

3 files changed

+37
-1
lines changed

3 files changed

+37
-1
lines changed

backend/src/main/java/es/codeurjc/wallypop/security/DatabaseConfig.java renamed to backend/src/main/java/es/codeurjc/wallypop/configuration/DatabaseConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package es.codeurjc.wallypop.security;
1+
package es.codeurjc.wallypop.configuration;
22

33
import com.zaxxer.hikari.HikariConfig;
44
import com.zaxxer.hikari.HikariDataSource;
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package es.codeurjc.wallypop.configuration;
2+
3+
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
4+
import org.springframework.boot.SpringBootConfiguration;
5+
import org.springframework.context.annotation.Bean;
6+
import org.springframework.jdbc.support.DatabaseStartupValidator;
7+
8+
import javax.persistence.EntityManagerFactory;
9+
import javax.sql.DataSource;
10+
import java.util.stream.Stream;
11+
12+
@SpringBootConfiguration
13+
public class DatabaseWaitConfigurator {
14+
@Bean
15+
public DatabaseStartupValidator databaseStartupValidator(DataSource dataSource) {
16+
DatabaseStartupValidator dsv = new DatabaseStartupValidator();
17+
dsv.setDataSource(dataSource);
18+
// Configuration delay and timeout
19+
dsv.setInterval(5);
20+
dsv.setTimeout(120);
21+
return dsv;
22+
}
23+
@Bean
24+
public static BeanFactoryPostProcessor dependsOnPostProcessor() {
25+
return bf ->
26+
{
27+
// Let beans that need the database depend on the DatabaseStartupValidator
28+
// like the JPA EntityManagerFactory
29+
String[] jpa = bf.getBeanNamesForType(EntityManagerFactory.class);
30+
Stream.of(jpa)
31+
.map(bf::getBeanDefinition)
32+
.forEach(it -> it.setDependsOn("databaseStartupValidator"));
33+
};
34+
}
35+
}

backend/src/main/resources/application.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ spring.jpa.properties.hibernate.format_sql=true
1616
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQL81Dialect
1717
spring.datasource.hikari.auto-commit=false
1818

19+
logging.level.com.zaxxer.hikari=OFF
1920

2021
#spring.jpa.properties.hibernate.format_sql=true
2122
logging.level.org.hibernate.SQL=DEBUG

0 commit comments

Comments
 (0)