Merge remote-tracking branch 'origin/master' into multitool

Dieser Commit ist enthalten in:
Chaoscaot 2023-01-15 16:46:44 +01:00
Commit e9d7e9738c
3 geänderte Dateien mit 22 neuen und 17 gelöschten Zeilen

0
build.gradle Normale Datei → Ausführbare Datei
Datei anzeigen

Datei anzeigen

@ -157,32 +157,36 @@ public class Statement implements AutoCloseable {
private <T> T withConnection(SQLRunnable<T> runnable, Object... objects) { private <T> T withConnection(SQLRunnable<T> runnable, Object... objects) {
Connection connection = aquireConnection(); Connection connection = aquireConnection();
T result;
try { try {
try { result = tryWithConnection(connection, runnable, objects);
return tryWithConnection(connection, runnable, objects); } catch (Throwable e) {
} finally {
if(connectionInvalid(connection)) { if(connectionInvalid(connection)) {
closeConnection(connection); closeConnection(connection);
return withConnection(runnable, objects);
} else { } else {
synchronized (connections) { synchronized (connections) {
connections.push(connection); connections.push(connection);
connections.notify(); connections.notify();
} }
}
}
} catch (SQLException e) {
if(connectionInvalid(connection)) {
return withConnection(runnable, objects);
} else {
throw new SecurityException("Failing sql statement", e); throw new SecurityException("Failing sql statement", e);
} }
} }
synchronized (connections) {
connections.push(connection);
connections.notify();
}
return result;
} }
private boolean connectionInvalid(Connection connection) { private boolean connectionInvalid(Connection connection) {
try { try {
return connection.isClosed(); return connection.isClosed() || !connection.isValid(1);
} catch (SQLException e) { } catch (SQLException e) {
logger.log(Level.INFO, "Could not check SQL connection status", e); // No database logging possible at this state logger.log(Level.INFO, "Could not check SQL connection status", e); // No database logging possible at this state
return true; return true;

Datei anzeigen

@ -1,5 +1,6 @@
build: setup:
- "ln -s /home/gitea/lib" - "ln -s /home/gitea/lib"
- "cp ~/gradle.properties ."
- "chmod u+x build.gradle" build:
- "./gradlew buildProject" - "./gradlew buildProject"
- "./gradlew --stop"