private void configureDataSource() { // This class is initialized by Shiro, not Guice - we need to retrieve the config manually final DaoConfig config = new ConfigurationObjectFactory(System.getProperties()).build(DaoConfig.class); final BoneCPConfig dbConfig = new BoneCPConfig(); dbConfig.setJdbcUrl(config.getJdbcUrl()); dbConfig.setUsername(config.getUsername()); dbConfig.setPassword(config.getPassword()); dbConfig.setMinConnectionsPerPartition(config.getMinIdle()); dbConfig.setMaxConnectionsPerPartition(config.getMaxActive()); dbConfig.setConnectionTimeout( config.getConnectionTimeout().getPeriod(), config.getConnectionTimeout().getUnit()); dbConfig.setIdleMaxAge(config.getIdleMaxAge().getPeriod(), config.getIdleMaxAge().getUnit()); dbConfig.setMaxConnectionAge( config.getMaxConnectionAge().getPeriod(), config.getMaxConnectionAge().getUnit()); dbConfig.setIdleConnectionTestPeriod( config.getIdleConnectionTestPeriod().getPeriod(), config.getIdleConnectionTestPeriod().getUnit()); dbConfig.setPartitionCount(1); dbConfig.setDefaultTransactionIsolation("READ_COMMITTED"); dbConfig.setDisableJMX(false); setDataSource(new BoneCPDataSource(dbConfig)); }
@Override public BoneCPConfig read(ConfigurationNode node) { BoneCPConfig config = new BoneCPConfig(); config.setJdbcUrl(node.getString("dsn", "")); config.setUsername(node.getString("username", "root")); config.setPassword(node.getString("password", "")); return config; }
public void createConnectionPool(String username, String password, String JDBCURL) throws SQLException { BoneCPConfig config = new BoneCPConfig(); config.setMaxConnectionsPerPartition(20); config.setJdbcUrl(JDBCURL); config.setUsername(username); config.setPassword(password); config.setDefaultAutoCommit(false); connectionPool = new BoneCP(config); }
public static void initConnectionPool() { try { Class.forName("com.mysql.jdbc.Driver"); BoneCPConfig config = new BoneCPConfig(); // jdbc:mysql://127.0.0.1:3306/" String JdbcURL = Config.DATABASE_URL + ":" + Config.DATABASE_PORT; config.setJdbcUrl(JdbcURL); config.setUsername(Config.DATABASE_LOGIN); config.setPassword(Config.DATABASE_PASSWORD); config.setMinConnectionsPerPartition(3); config.setMaxConnectionsPerPartition(5); config.setPartitionCount(1); // 1*2 = 2 connections // config.setLazyInit(true); // depends on the application usage connectionPool = new BoneCP(config); // setup the connection pool Logger.writeLog("Database connection succeeded!", Logger.LOG_TYPE_VERBOSE); // Log.log("This many active physical connections: " + // connectionPool.getTotalCreatedConnections()); DatabaseConnection.setConnectionPool(connectionPool); /*Boolean exists = DatabaseHandler.databasesExist(Config.DATABASE_AUTH, Config.DATABASE_CHAR, Config.DATABASE_WORLD); if (!exists) { Logger.writeLog("One or more databases (authDB, charactersDB, or worldDB) do not exist.", Logger.LOG_TYPE_ERROR); System.exit(0); }*/ } catch (Exception e) { e.printStackTrace(); // Fix this.. exception wrapping. System.exit(0); } }
@Override public BoneCPConfig get() { BoneCPConfig config = new BoneCPConfig(); config.setJdbcUrl(settings.getString(JDBC_URL, DEFAULT_JDBC_URL)); config.setPartitionCount(settings.getInt(PARTITION_COUNT, DEFAULT_PARTITION_COUNT)); config.setMinConnectionsPerPartition( settings.getInt(MIN_CONNECTIONS_PER_PARTITION, DEFAULT_MIN_CONNECTIONS_PER_PARTITION)); config.setMaxConnectionsPerPartition( settings.getInt(MAX_CONNECTIONS_PER_PARTITION, DEFAULT_MAX_CONNECTIONS_PER_PARTITION)); config.setCloseOpenStatements( settings.getBoolean(CLOSE_OPEN_STATEMENTS, DEFAULT_CLOSE_OPEN_STATEMENTS)); config.setCloseConnectionWatch( settings.getBoolean(CLOSE_CONNECTION_WATCH, DEFAULT_CLOSE_CONNECTION_WATCH)); config.setDefaultReadOnly(settings.getBoolean(READ_ONLY, DEFAULT_READ_ONLY)); config.setAcquireRetryAttempts( settings.getInt(ACQUIRE_RETRY_ATTEMPTS, DEFAULT_ACQUIRE_RETRY_ATTEMPTS)); Long timeout = settings.getLong(CONNECTION_TIMEOUT_MINUTES); if (timeout != null) { config.setConnectionTimeout(timeout, TimeUnit.MINUTES); } Long maxConnectionAgeInMinutes = settings.getLong(MAX_CONNECTION_AGE_MINUTES); if (maxConnectionAgeInMinutes != null) { config.setMaxConnectionAgeInSeconds(maxConnectionAgeInMinutes * 60); } Long idleMaxAge = settings.getLong(IDLE_MAX_AGE_SECONDS); if (idleMaxAge != null) { config.setIdleMaxAgeInSeconds(idleMaxAge); } String u = settings.getString(JDBC_USER, DEFAULT_JDBC_USER); String p = settings.getString(JDBC_PASSWORD); if (u != null && !u.trim().isEmpty()) { config.setUsername(u); } if (p != null && !p.trim().isEmpty()) { config.setPassword(p); } return postConfig.onConfigure(config); }
@Override public void setup(IConnectionProperty connPro) { // TODO Auto-generated method stub _connectionProperty = connPro; System.out.println(_connectionProperty.GetUrl()); BoneCPConfig config = new BoneCPConfig(); System.out.println(_connectionProperty.GetUrl()); System.out.println(_connectionProperty.GetUserInfo().GetName()); System.out.println(_connectionProperty.GetUserInfo().GetPass()); config.setJdbcUrl( _connectionProperty .GetUrl()); // jdbc url specific to your database, eg jdbc:mysql://127.0.0.1/yourdb config.setUsername(_connectionProperty.GetUserInfo().GetName()); config.setPassword(_connectionProperty.GetUserInfo().GetPass()); config.setMinConnectionsPerPartition(_minConn); config.setMaxConnectionsPerPartition(_maxConn); config.setPartitionCount(_partCount); config.setDisableConnectionTracking(true); if (doPreparedStatement) { config.setStatementsCacheSize(10); } else { config.setStatementsCacheSize(0); } config.setReleaseHelperThreads(helper_threads); config.setStatementReleaseHelperThreads(15); config.setAcquireIncrement(5); config.setPoolName("me"); config.setLazyInit(false); try { _boneCP = new BoneCP(config); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
@Override public void Reset() { // TODO Auto-generated method stub if (_connectionProperty == null) { System.out.print(String.format("khong reset duoc")); return; } BoneCPConfig config = new BoneCPConfig(); config.setJdbcUrl( _connectionProperty .GetUrl()); // jdbc url specific to your database, eg jdbc:mysql://127.0.0.1/yourdb config.setUsername(_connectionProperty.GetUserInfo().GetName()); config.setPassword(_connectionProperty.GetUserInfo().GetPass()); config.setMinConnectionsPerPartition(_minConn); config.setMaxConnectionsPerPartition(_maxConn); config.setPartitionCount(_partCount); try { _boneCP = new BoneCP(config); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
/** * Khoi tao pool * * @author hdk * @param connPro: connectionProperty * @param minConn: minConnectionPerPartition:Default=5 * @param maxConn: maxConnectionPerPartition:Default=10 * @param partCount: PartitionCount:Default=1 */ @Override public void setup(IConnectionProperty connPro, int minConn, int maxConn, int partCount) { // TODO Auto-generated method stub _connectionProperty = connPro; _minConn = minConn; _maxConn = maxConn; _partCount = partCount; BoneCPConfig config = new BoneCPConfig(); config.setJdbcUrl( _connectionProperty .GetUrl()); // jdbc url specific to your database, eg jdbc:mysql://127.0.0.1/yourdb config.setUsername(_connectionProperty.GetUserInfo().GetName()); config.setPassword(_connectionProperty.GetUserInfo().GetPass()); config.setMinConnectionsPerPartition(_minConn); config.setMaxConnectionsPerPartition(_maxConn); config.setPartitionCount(_partCount); try { _boneCP = new BoneCP(config); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }