fix: bound DDS connection timeouts
This commit is contained in:
@@ -15,6 +15,7 @@ import java.time.Duration;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Objects;
|
||||
import java.util.Properties;
|
||||
import java.util.regex.Pattern;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -82,10 +83,14 @@ public class DdsQueryService {
|
||||
|
||||
var limit = Math.max(1, Math.min(requestedLimit, 100));
|
||||
var search = searchText == null ? "" : searchText.trim();
|
||||
try (Connection connection = DriverManager.getConnection(
|
||||
properties.dbUrl(), user.username(), user.password())) {
|
||||
var timeoutSeconds = timeoutSeconds(properties.queryTimeout());
|
||||
var connectionProperties = new Properties();
|
||||
connectionProperties.setProperty("user", user.username());
|
||||
connectionProperties.setProperty("password", user.password());
|
||||
connectionProperties.setProperty("oracle.net.CONNECT_TIMEOUT", String.valueOf(timeoutSeconds * 1000));
|
||||
connectionProperties.setProperty("oracle.jdbc.ReadTimeout", String.valueOf(timeoutSeconds * 1000));
|
||||
try (Connection connection = DriverManager.getConnection(properties.dbUrl(), connectionProperties)) {
|
||||
connection.setReadOnly(true);
|
||||
var timeoutSeconds = timeoutSeconds(properties.queryTimeout());
|
||||
var sessionUser = readSingleValue(connection,
|
||||
"SELECT SYS_CONTEXT('USERENV', 'SESSION_USER') FROM dual", timeoutSeconds);
|
||||
var endUser = readSingleValue(connection,
|
||||
|
||||
Reference in New Issue
Block a user