|
@@ -1,14 +1,10 @@
|
|
|
package org.hswebframework.web.datasource.jta;
|
|
|
|
|
|
-import org.hsweb.ezorm.rdb.executor.AbstractJdbcSqlExecutor;
|
|
|
import org.hsweb.ezorm.rdb.executor.SQL;
|
|
|
-import org.hswebframework.web.datasource.DataSourceHolder;
|
|
|
-import org.springframework.jdbc.datasource.DataSourceUtils;
|
|
|
+import org.hswebframework.web.datasource.DefaultJdbcExecutor;
|
|
|
import org.springframework.transaction.annotation.Propagation;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import javax.sql.DataSource;
|
|
|
-import java.sql.Connection;
|
|
|
import java.sql.SQLException;
|
|
|
|
|
|
/**
|
|
@@ -18,26 +14,7 @@ import java.sql.SQLException;
|
|
|
* @since 3.0
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Throwable.class)
|
|
|
-public class JtaJdbcSqlExecutor extends AbstractJdbcSqlExecutor {
|
|
|
- @Override
|
|
|
- public Connection getConnection() {
|
|
|
- DataSource dataSource = DataSourceHolder.currentDataSource().getNative();
|
|
|
- Connection connection = DataSourceUtils.getConnection(dataSource);
|
|
|
- boolean isConnectionTransactional = DataSourceUtils.isConnectionTransactional(connection, dataSource);
|
|
|
- if (logger.isDebugEnabled()) {
|
|
|
- logger.debug("DataSource ({}) JDBC Connection [{}] will {}be managed by Spring", DataSourceHolder.switcher().currentDataSourceId(), connection, (isConnectionTransactional ? "" : "not "));
|
|
|
- }
|
|
|
- return connection;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void releaseConnection(Connection connection) throws SQLException {
|
|
|
- if (logger.isDebugEnabled()) {
|
|
|
- logger.debug("Releasing DataSource ({}) JDBC Connection [{}]", DataSourceHolder.switcher().currentDataSourceId(), connection);
|
|
|
- }
|
|
|
- DataSourceUtils.releaseConnection(connection, DataSourceHolder.currentDataSource().getNative());
|
|
|
- }
|
|
|
-
|
|
|
+public class JtaJdbcSqlExecutor extends DefaultJdbcExecutor {
|
|
|
@Override
|
|
|
@Transactional(propagation = Propagation.NOT_SUPPORTED)
|
|
|
public void exec(SQL sql) throws SQLException {
|