Skip to content

Instantly share code, notes, and snippets.

@lavarene
Last active March 7, 2018 10:41
Show Gist options
  • Save lavarene/898b056ce83cfa31f4e05582dc575930 to your computer and use it in GitHub Desktop.
Save lavarene/898b056ce83cfa31f4e05582dc575930 to your computer and use it in GitHub Desktop.
import oracle.ucp.UniversalConnectionPoolAdapter;
import oracle.ucp.admin.UniversalConnectionPoolManager;
import oracle.ucp.admin.UniversalConnectionPoolManagerImpl;
import oracle.ucp.jdbc.PoolDataSource;
import oracle.ucp.jdbc.PoolDataSourceFactory;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class UCPTest {
public static PoolDataSource pds = null;
public static void main(String[] args) throws Exception {
String username;
String password;
String connString;
username = "scott";
password = "tiger";
connString = "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=service)))";
System.out.println("username: " + username);
System.out.println("password: " + password);
System.out.println("conn string: " + connString);
String jdbcUrl = "jdbc:oracle:thin:@" + connString;
System.out.println("UCPTest starting...");
UniversalConnectionPoolManager mgr = UniversalConnectionPoolManagerImpl
.getUniversalConnectionPoolManager();
mgr.setJmxEnabled(false);
pds = PoolDataSourceFactory.getPoolDataSource();
pds.setMinPoolSize(1);
pds.setInitialPoolSize(1);
pds.setMaxPoolSize(3);
pds.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
pds.setInactiveConnectionTimeout(60);
pds.setUser(username);
pds.setPassword(password);
pds.setURL(jdbcUrl);
mgr.createConnectionPool((UniversalConnectionPoolAdapter) pds);
mgr.startConnectionPool(pds.getConnectionPoolName());
try (Connection con = pds.getConnection()) {
// con.setAutoCommit(false);
try (PreparedStatement statement = con
.prepareStatement("select 1 from dual a");
ResultSet rs = statement.executeQuery()) {
System.out.println("Sleeping BEFORE closing the statement");
Thread.sleep(20000);
}
// con.commit();
}
System.out.println("Sleeping AFTER closing the statement");
Thread.sleep(20000);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment