Пример #1
0
  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));
  }
Пример #2
0
  @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;
  }
Пример #3
0
  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);
  }
Пример #4
0
  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);
  }
Пример #6
0
  @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();
    }
  }
Пример #7
0
  @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();
    }
  }
Пример #8
0
  /**
   * 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();
    }
  }