This is an automated email from the ASF dual-hosted git repository. datazuul pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/empire-db.git
commit 40b7691359ada14e078b6f934933f12e62bea697 Author: Ralf Eichinger <[email protected]> AuthorDate: Thu Feb 19 16:31:07 2026 +0100 externalize generic spring configuration to sample independent classes --- .../apache/empire/springboot/DBContextSpring.java | 54 +++++++--------------- 1 file changed, 16 insertions(+), 38 deletions(-) diff --git a/empire-db-examples/empire-db-example-spring-boot/src/main/java/org/apache/empire/springboot/DBContextSpring.java b/empire-db-examples/empire-db-example-spring-boot/src/main/java/org/apache/empire/springboot/DBContextSpring.java index f16ead33..5c9bf28a 100644 --- a/empire-db-examples/empire-db-example-spring-boot/src/main/java/org/apache/empire/springboot/DBContextSpring.java +++ b/empire-db-examples/empire-db-example-spring-boot/src/main/java/org/apache/empire/springboot/DBContextSpring.java @@ -3,7 +3,6 @@ package org.apache.empire.springboot; import jakarta.annotation.PreDestroy; import org.apache.empire.db.context.DBContextBase; import org.apache.empire.db.context.DBRollbackManager; -import org.apache.empire.db.exceptions.EmpireSQLException; import org.apache.empire.dbms.DBMSHandler; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -11,7 +10,6 @@ import org.springframework.jdbc.datasource.DataSourceUtils; import javax.sql.DataSource; import java.sql.Connection; -import java.sql.SQLException; public class DBContextSpring extends DBContextBase implements AutoCloseable { private static final Logger LOGGER = LoggerFactory.getLogger(DBContextSpring.class); @@ -19,8 +17,6 @@ public class DBContextSpring extends DBContextBase implements AutoCloseable { private final DataSource dataSource; private final DBMSHandler dbmsHandler; - private final ThreadLocal<Connection> connectionHolder = new ThreadLocal<>(); - public DBContextSpring(DataSource dataSource, DBMSHandler dbmsHandler) { this.dataSource = dataSource; this.dbmsHandler = dbmsHandler; @@ -39,36 +35,22 @@ public class DBContextSpring extends DBContextBase implements AutoCloseable { * <p> * Summary: Spring Boot provided DataSources work with @Transactional as long as you use Spring’s access paths or DataSourceUtils and have the appropriate TransactionManager active. * - * @param readOnly if true, the connection will be set to read-only mode. + * @param readOnly if true, the connection will be set to read-only mode. (ignored) * @return a Connection object that is managed by Spring's transaction management. */ @Override protected Connection getConnection(boolean readOnly) { - Connection conn = connectionHolder.get(); - try { - if (conn == null || conn.isClosed()) { - conn = DataSourceUtils.getConnection(dataSource); - if (readOnly) { - conn.setReadOnly(true); - } - connectionHolder.set(conn); - LOGGER.debug("Obtained Spring-managed connection {}", conn); - } - return conn; - } catch (SQLException e) { - throw new EmpireSQLException(dbmsHandler, e); - } + return DataSourceUtils.getConnection(dataSource); } @Override - public Connection getConnection() - { - return getConnection(false); + protected DBRollbackManager getRollbackManager(boolean b) { + return null; } @Override - protected DBRollbackManager getRollbackManager(boolean b) { - return null; + public Connection getConnection() { + return getConnection(false); } @Override @@ -77,32 +59,28 @@ public class DBContextSpring extends DBContextBase implements AutoCloseable { } @Override - public DBMSHandler getDbms() { - return this.dbmsHandler; + public void commit() { + // No-op: Let Spring's TransactionManager handle the commit } @Override - public boolean isRollbackHandlingEnabled() { - return false; + public void rollback() { + // No-op: Let Spring's TransactionManager handle the rollback } @Override - public void commit() { - // No-op: Let Spring's TransactionManager handle the commit + protected void closeConnection() { + // No-op: Let Spring's TransactionManager handle the connection lifecycle } @Override - public void rollback() { - // No-op: Let Spring's TransactionManager handle the rollback + public DBMSHandler getDbms() { + return this.dbmsHandler; } @Override - protected void closeConnection() { - Connection conn = connectionHolder.get(); - connectionHolder.remove(); - if (conn != null) { - DataSourceUtils.releaseConnection(conn, dataSource); - } + public boolean isRollbackHandlingEnabled() { + return false; } @PreDestroy
