From aadebed24cf554af92bdb8556d17cf4e5ec8960b Mon Sep 17 00:00:00 2001 From: pesse Date: Tue, 19 Mar 2019 23:00:15 +0100 Subject: [PATCH] Update HikariCP and move maxConnections parameter --- pom.xml | 2 +- src/main/java/org/utplsql/cli/DataSourceProvider.java | 5 +---- .../utplsql/cli/datasource/TestedDataSourceProvider.java | 6 +++++- src/test/java/org/utplsql/cli/DataSourceProviderIT.java | 4 ++-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index 50d015e..e779ae6 100644 --- a/pom.xml +++ b/pom.xml @@ -48,7 +48,7 @@ com.zaxxer HikariCP - 2.7.2 + 3.3.1 compile diff --git a/src/main/java/org/utplsql/cli/DataSourceProvider.java b/src/main/java/org/utplsql/cli/DataSourceProvider.java index c9eb9b6..335a6a4 100644 --- a/src/main/java/org/utplsql/cli/DataSourceProvider.java +++ b/src/main/java/org/utplsql/cli/DataSourceProvider.java @@ -28,10 +28,7 @@ public static DataSource getDataSource(ConnectionInfo info, int maxConnections ) ConnectionConfig config = new ConnectionConfig(info.getConnectionString()); warnIfSysDba(config); - HikariDataSource pds = new TestedDataSourceProvider(config).getDataSource(); - pds.setAutoCommit(false); - pds.setMaximumPoolSize(maxConnections); - return pds; + return new TestedDataSourceProvider(config, maxConnections).getDataSource(); } private static void requireOjdbc() { diff --git a/src/main/java/org/utplsql/cli/datasource/TestedDataSourceProvider.java b/src/main/java/org/utplsql/cli/datasource/TestedDataSourceProvider.java index a9474f5..96fb795 100644 --- a/src/main/java/org/utplsql/cli/datasource/TestedDataSourceProvider.java +++ b/src/main/java/org/utplsql/cli/datasource/TestedDataSourceProvider.java @@ -24,9 +24,11 @@ interface ConnectStringPossibility { private static final Logger logger = LoggerFactory.getLogger(TestedDataSourceProvider.class); private final ConnectionConfig config; private final List possibilities = new ArrayList<>(); + private final int maxConnections; - public TestedDataSourceProvider(ConnectionConfig config) { + public TestedDataSourceProvider(ConnectionConfig config, int maxConnections) { this.config = config; + this.maxConnections = maxConnections; possibilities.add(new ThickConnectStringPossibility()); possibilities.add(new ThinConnectStringPossibility()); @@ -35,6 +37,8 @@ public TestedDataSourceProvider(ConnectionConfig config) { public HikariDataSource getDataSource() throws SQLException { HikariDataSource ds = new HikariDataSource(); + ds.setAutoCommit(false); + ds.setMaximumPoolSize(maxConnections); setInitSqlFrom_NLS_LANG(ds); setThickOrThinJdbcUrl(ds); diff --git a/src/test/java/org/utplsql/cli/DataSourceProviderIT.java b/src/test/java/org/utplsql/cli/DataSourceProviderIT.java index 0bef99a..1caaf26 100644 --- a/src/test/java/org/utplsql/cli/DataSourceProviderIT.java +++ b/src/test/java/org/utplsql/cli/DataSourceProviderIT.java @@ -23,7 +23,7 @@ void connectToDatabase() throws SQLException { //@Test void connectAsSysdba() throws SQLException { ConnectionConfig config = new ConnectionConfig("sys as sysdba/oracle@localhost:1522/ORCLPDB1"); - DataSource dataSource = new TestedDataSourceProvider(config).getDataSource(); + DataSource dataSource = new TestedDataSourceProvider(config, 2).getDataSource(); assertNotNull(dataSource); } @@ -66,7 +66,7 @@ void initNlsLangEmpty() throws SQLException { private DataSource getDataSource() throws SQLException { ConnectionConfig config = new ConnectionConfig(TestHelper.getConnectionString()); - return new TestedDataSourceProvider(config).getDataSource(); + return new TestedDataSourceProvider(config, 2).getDataSource(); } private void checkNlsSessionParameter( DataSource dataSource, String parameterName, String expectedValue ) throws SQLException {