I einfache SteuerungN + 1 Wählt generete CommunicationsException
@GetMapping("users")
List<User> getUsers() {
innen I-Code haben haben:
for(int i = 0; i<1000;++i)
userRepository.getOne(i);
nach wenigen Minuten manchmal bekomme ich:
org.hibernate.exception.JDBCConnectionException: could not extract ResultSet
aber für 95 % ruft es auf.
wenn ich die Anzahl der Iterationen zu verringern:
for(int i = 0; i<100;++i)
userRepository.getOne(i);
Es funktioniert immer. extrahieren konnte nicht:
meine Einstellungen:
spring.datasource.url=jdbc:mysql://test.dailyrazor.com:3306/test?autoReconnect=true&failOverReadOnly=false&maxReconnects=10
spring.datasource.username=test
spring.datasource.password=test
Code, um das Problem nur zu illustrieren ist, kommt ein echtes Beispiel von N + 1 Wählt
Wie kann ich verhindern org.hibernate.exception.JDBCConnectionException Ergebnismenge?
Können Sie die volle stacktrace posten? – karelss
Das klingt wie die Datenbank die Verbindung schließt, wenn es zu lange geöffnet ist, oder verursacht zu viel Last, oder führt zu viele Aussagen. Ein vollständiger Stacktrace könnte dies beweisen. Vielleicht möchten Sie mit dba sprechen. –