From f7fd2df01631c531b00699ed857719d829d969a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Prante?= Date: Wed, 12 Jun 2024 22:56:01 +0200 Subject: [PATCH] remove ThreadDeath and QueueException --- gradle/compile/java.gradle | 2 +- jdbc-postgresql/src/main/java/module-info.java | 2 +- .../java/org/xbib/jdbc/postgresql/Listener.java | 1 + .../java/org/xbib/jdbc/query/DatabaseImpl.java | 8 +++++--- .../org/xbib/jdbc/query/DatabaseProvider.java | 16 ++++++++-------- .../java/org/xbib/jdbc/query/QueueException.java | 8 -------- 6 files changed, 16 insertions(+), 21 deletions(-) delete mode 100644 jdbc-query/src/main/java/org/xbib/jdbc/query/QueueException.java diff --git a/gradle/compile/java.gradle b/gradle/compile/java.gradle index c686724..14665e0 100644 --- a/gradle/compile/java.gradle +++ b/gradle/compile/java.gradle @@ -19,7 +19,7 @@ jar { tasks.withType(JavaCompile) { options.fork = true options.forkOptions.jvmArgs += ['-Duser.language=en','-Duser.country=US'] - options.compilerArgs << '-Xlint:all' + options.compilerArgs << '-Xlint:all,-exports' options.encoding = 'UTF-8' } diff --git a/jdbc-postgresql/src/main/java/module-info.java b/jdbc-postgresql/src/main/java/module-info.java index 01de615..f55ceb8 100644 --- a/jdbc-postgresql/src/main/java/module-info.java +++ b/jdbc-postgresql/src/main/java/module-info.java @@ -4,7 +4,7 @@ import org.xbib.jdbc.postgresql.Postgresql; module org.xbib.jdbc.postgresql { requires org.xbib.jdbc.query; requires java.sql; - requires org.postgresql.jdbc; + requires org.postgresql.jdbc; // automatic module uses Flavor; exports org.xbib.jdbc.postgresql; provides Flavor with Postgresql; diff --git a/jdbc-postgresql/src/main/java/org/xbib/jdbc/postgresql/Listener.java b/jdbc-postgresql/src/main/java/org/xbib/jdbc/postgresql/Listener.java index 3c1c372..f490243 100644 --- a/jdbc-postgresql/src/main/java/org/xbib/jdbc/postgresql/Listener.java +++ b/jdbc-postgresql/src/main/java/org/xbib/jdbc/postgresql/Listener.java @@ -35,6 +35,7 @@ public class Listener implements Runnable { while (true) { try (Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery("SELECT 1")) { + // } catch (SQLException e) { errorConsumer.accept(e); } diff --git a/jdbc-query/src/main/java/org/xbib/jdbc/query/DatabaseImpl.java b/jdbc-query/src/main/java/org/xbib/jdbc/query/DatabaseImpl.java index 56cde2b..0ceb0f0 100644 --- a/jdbc-query/src/main/java/org/xbib/jdbc/query/DatabaseImpl.java +++ b/jdbc-query/src/main/java/org/xbib/jdbc/query/DatabaseImpl.java @@ -550,7 +550,10 @@ public class DatabaseImpl implements Database { } @Override - public void consumeQueue(String table, String channel, int limit, Consumer consumer) throws SQLException { + public void consumeQueue(String table, + String channel, + int limit, + Consumer consumer) throws SQLException { List consumedKeys = new ArrayList<>(); try { connection.setAutoCommit(false); @@ -563,13 +566,12 @@ public class DatabaseImpl implements Database { consumer.accept(resultSet.getString("data")); } succeedInQueue(connection, table, key); - } catch (QueueException e) { + } catch (Exception e) { connection.rollback(); failInQueue(connection, table, key); throw e; } } - } finally { connection.commit(); } } catch (Exception e) { diff --git a/jdbc-query/src/main/java/org/xbib/jdbc/query/DatabaseProvider.java b/jdbc-query/src/main/java/org/xbib/jdbc/query/DatabaseProvider.java index bd00808..b08851e 100644 --- a/jdbc-query/src/main/java/org/xbib/jdbc/query/DatabaseProvider.java +++ b/jdbc-query/src/main/java/org/xbib/jdbc/query/DatabaseProvider.java @@ -170,7 +170,7 @@ public final class DatabaseProvider implements Supplier, Closeable { try { code.run(this); complete = true; - } catch (ThreadDeath | DatabaseException t) { + } catch (DatabaseException t) { throw t; } catch (Throwable t) { throw new DatabaseException("Error during transaction", t); @@ -188,7 +188,7 @@ public final class DatabaseProvider implements Supplier, Closeable { try { code.run(this); complete = true; - } catch (ThreadDeath | DatabaseException t) { + } catch (DatabaseException t) { throw t; } catch (Throwable t) { throw new DatabaseException("Error during transaction", t); @@ -207,7 +207,7 @@ public final class DatabaseProvider implements Supplier, Closeable { try { result = code.run(this); complete = true; - } catch (ThreadDeath | DatabaseException t) { + } catch (DatabaseException t) { throw t; } catch (Throwable t) { throw new DatabaseException("Error during transaction", t); @@ -227,7 +227,7 @@ public final class DatabaseProvider implements Supplier, Closeable { try { result = code.run(this); complete = true; - } catch (ThreadDeath | DatabaseException t) { + } catch (DatabaseException t) { throw t; } catch (Throwable t) { throw new DatabaseException("Error during transaction", t); @@ -249,7 +249,7 @@ public final class DatabaseProvider implements Supplier, Closeable { try { code.run(this, tx); complete = true; - } catch (ThreadDeath | DatabaseException t) { + } catch (DatabaseException t) { throw t; } catch (Throwable t) { throw new DatabaseException("Error during transaction", t); @@ -270,7 +270,7 @@ public final class DatabaseProvider implements Supplier, Closeable { try { code.run(this, tx); complete = true; - } catch (ThreadDeath | DatabaseException t) { + } catch (DatabaseException t) { throw t; } catch (Throwable t) { throw new DatabaseException("Error during transaction", t); @@ -299,7 +299,7 @@ public final class DatabaseProvider implements Supplier, Closeable { // Don't try to be clever about clearing it conditionally. if (!builder.options.flavor().isAutoCommitOnly()) { connection.setAutoCommit(false); - metric.checkpoint("setAutoCommit"); + metric.checkpoint("setAutoCommit false"); } } catch (SQLException e) { throw new DatabaseException("Unable to set autoCommit for the connection", e); @@ -402,9 +402,9 @@ public final class DatabaseProvider implements Supplier, Closeable { logger.log(Level.SEVERE, "Unable to close the database connection", e); } } + builder.close(); connection = null; database = null; - builder.close(); } private static class DatabaseProviderBuilderImpl implements DatabaseProviderBuilder, Closeable { diff --git a/jdbc-query/src/main/java/org/xbib/jdbc/query/QueueException.java b/jdbc-query/src/main/java/org/xbib/jdbc/query/QueueException.java deleted file mode 100644 index 708b879..0000000 --- a/jdbc-query/src/main/java/org/xbib/jdbc/query/QueueException.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.xbib.jdbc.query; - -public class QueueException extends DatabaseException { - - public QueueException(String message, Throwable cause) { - super(message, cause); - } -}