Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Aplikacja webowa spring-boot po chwili traci możliwość łączenia się z MySQL/RDS

Jeśli używasz automatycznej konfiguracji do zdefiniowania połączenia RDS z pliku właściwości w następujący sposób:

cloud.aws.rds.testdb.password=testdbpwd
cloud.aws.rds.testdb.username=testdbuser
cloud.aws.rds.testdb.databaseName=testdb

Automatyczna konfiguracja źródła danych spring boot nie zadziała, nawet jeśli umieścisz te (lub tomcat datasource conf) w swoim pliku konfiguracyjnym:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.test-on-borrow: true
spring.datasource.validation-query: SELECT 1 FROM DUAL
spring.datasource.log-validation-errors: true

Myślę, że to jest powód, dla którego nie możesz zweryfikować swoich połączeń w puli przed ich użyciem.

Musisz nadpisać metodę postProcessAfterInitialization, aby ustawić właściwości puli ziarna TomcatJdbcDataSourceFactory w następujący sposób:

@Component
public class PoolConfiguration implements BeanPostProcessor {

@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
    if (bean instanceof TomcatJdbcDataSourceFactory) {
        TomcatJdbcDataSourceFactory tomcatJdbcDataSourceFactory = (TomcatJdbcDataSourceFactory) bean;
        tomcatJdbcDataSourceFactory.setTestOnBorrow(true);
        tomcatJdbcDataSourceFactory.setTestWhileIdle(true);
        tomcatJdbcDataSourceFactory.setValidationQuery("SELECT 1");
    }
    return bean;
}
}

Nie mogłem znaleźć innego rozwiązania tego problemu. Nawiasem mówiąc, może to być błąd spring-cloud-aws-autoconfigure pakiet.

Powodzenia!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak odblokować za pomocą hostów spłukiwania mysqladmin

  2. JDBC zwraca wyjątek MySQLSyntaxError z poprawną instrukcją

  3. Zatrzymaj ponowne używanie przez MySQL identyfikatorów AUTO_INCREMENT

  4. Wyświetlanie obrazów z bazy danych MySQL w tabeli danych JSF

  5. Składnia SQL UPDATE – wymieniona przez DBMS