|
@@ -4,12 +4,11 @@ import org.dbsyncer.connector.ConnectorException;
|
|
import org.dbsyncer.connector.config.DatabaseConfig;
|
|
import org.dbsyncer.connector.config.DatabaseConfig;
|
|
import org.dbsyncer.connector.database.DatabaseConnectorMapper;
|
|
import org.dbsyncer.connector.database.DatabaseConnectorMapper;
|
|
import org.dbsyncer.connector.database.HandleCallback;
|
|
import org.dbsyncer.connector.database.HandleCallback;
|
|
-import org.dbsyncer.connector.database.DatabaseTemplate;
|
|
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.dao.EmptyResultDataAccessException;
|
|
import org.springframework.dao.EmptyResultDataAccessException;
|
|
|
|
|
|
-import java.sql.Connection;
|
|
|
|
|
|
+import java.sql.SQLException;
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.concurrent.locks.Lock;
|
|
import java.util.concurrent.locks.Lock;
|
|
import java.util.concurrent.locks.ReentrantLock;
|
|
import java.util.concurrent.locks.ReentrantLock;
|
|
@@ -19,8 +18,8 @@ public final class SqlServerConnectorMapper extends DatabaseConnectorMapper {
|
|
private final Logger logger = LoggerFactory.getLogger(getClass());
|
|
private final Logger logger = LoggerFactory.getLogger(getClass());
|
|
private final Lock lock = new ReentrantLock(true);
|
|
private final Lock lock = new ReentrantLock(true);
|
|
|
|
|
|
- public SqlServerConnectorMapper(DatabaseConfig config, Connection connection) {
|
|
|
|
- super(config, connection);
|
|
|
|
|
|
+ public SqlServerConnectorMapper(DatabaseConfig config) throws SQLException {
|
|
|
|
+ super(config);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -29,6 +28,7 @@ public final class SqlServerConnectorMapper extends DatabaseConnectorMapper {
|
|
* @param callback
|
|
* @param callback
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
|
|
+ @Override
|
|
public <T> T execute(HandleCallback callback) {
|
|
public <T> T execute(HandleCallback callback) {
|
|
final Lock connectionLock = lock;
|
|
final Lock connectionLock = lock;
|
|
boolean locked = false;
|
|
boolean locked = false;
|
|
@@ -36,7 +36,7 @@ public final class SqlServerConnectorMapper extends DatabaseConnectorMapper {
|
|
try {
|
|
try {
|
|
locked = connectionLock.tryLock(60, TimeUnit.SECONDS);
|
|
locked = connectionLock.tryLock(60, TimeUnit.SECONDS);
|
|
if (locked) {
|
|
if (locked) {
|
|
- apply = callback.apply(new DatabaseTemplate(connection));
|
|
|
|
|
|
+ apply = callback.apply(template);
|
|
}
|
|
}
|
|
} catch (EmptyResultDataAccessException e) {
|
|
} catch (EmptyResultDataAccessException e) {
|
|
throw e;
|
|
throw e;
|