Java Code Examples for java.sql.DatabaseMetaData#getMaxConnections()

The following examples show how to use java.sql.DatabaseMetaData#getMaxConnections() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ConnectionPool.java    From springboot-ureport with Apache License 2.0 6 votes vote down vote up
/**
 * 创建一个新的数据库连接并返回它
 * 
 * @return 返回一个新创建的数据库连接
 */
private Connection newConnection() throws SQLException {
	// 创建一个数据库连接
	Connection conn = DriverManager.getConnection(dbUrl, dbUsername, dbPassword);
	// 如果这是第一次创建数据库连接,即检查数据库,获得此数据库允许支持的
	// 最大客户连接数目
	// connections.size()==0 表示目前没有连接己被创建
	if (connections.size() == 0) {
		DatabaseMetaData metaData = conn.getMetaData();
		int driverMaxConnections = metaData.getMaxConnections();
		// 数据库返回的 driverMaxConnections 若为 0 ,表示此数据库没有最大
		// 连接限制,或数据库的最大连接限制不知道
		// driverMaxConnections 为返回的一个整数,表示此数据库允许客户连接的数目
		// 如果连接池中设置的最大连接数量大于数据库允许的连接数目 , 则置连接池的最大
		// 连接数目为数据库允许的最大数目
		if (driverMaxConnections > 0 && this.maxConnections > driverMaxConnections) {
			this.maxConnections = driverMaxConnections;
		}
	}
	return conn; // 返回创建的新的数据库连接
}
 
Example 2
Source File: Connection.java    From birt with Eclipse Public License 1.0 6 votes vote down vote up
public int getMaxQueries( ) throws OdaException
{
	if ( jdbcConn != null )
	{
		try
		{
			DatabaseMetaData dbMetadata = jdbcConn.getMetaData( );
			int maxstmts = dbMetadata.getMaxStatements( );
			int maxconns = dbMetadata.getMaxConnections( );
			if ( maxstmts == 0 && maxconns == 0 )
				return 0;
			else if ( maxconns == 0 || maxstmts < maxconns )
				return 1;
			else
				return maxstmts / maxconns;
		}
		catch ( SQLException e )
		{
			return 1;
		}
	}

	return 0;
}
 
Example 3
Source File: ConnectionPool.java    From Cozy with Do What The F*ck You Want To Public License 5 votes vote down vote up
/**
 * 创建一个新的数据库连接并返回它 
 * @return 返回一个新创建的数据库连接
 * 
 */
private Connection newConnection() throws SQLException {
	// 创建一个数据库连接
	Connection conn = DriverManager.getConnection(dbUrl, dbUsername,
			dbPassword);
	// 如果这是第一次创建数据库连接,即检查数据库,获得此数据库允许支持的
	// 最大客户连接数目
	// connections.size()==0 表示目前没有连接己被创建
	if (connections.size() == 0) {
		DatabaseMetaData metaData = conn.getMetaData();
		int driverMaxConnections = metaData.getMaxConnections();
		// 数据库返回的 driverMaxConnections 若为 0 ,表示此数据库没有最大
		// 连接限制,或数据库的最大连接限制不知道
		// driverMaxConnections 为返回的一个整数,表示此数据库允许客户连接的数目
		// 如果连接池中设置的最大连接数量大于数据库允许的连接数目 , 则置连接池的最大
		// 连接数目为数据库允许的最大数目
		if (driverMaxConnections > 0
				&& this.maxConnections > driverMaxConnections) {

			this.maxConnections = driverMaxConnections;

		}

	}
	return conn; // 返回创建的新的数据库连接

}
 
Example 4
Source File: DatabaseAccessor.java    From XueQiuSuperSpider with MIT License 4 votes vote down vote up
private Connection newConnection() throws SQLException {

        Connection conn = DriverManager.getConnection(dbUrl, dbUsername,
                dbPassword);

        if (connections.size() == 0) {

            DatabaseMetaData metaData = conn.getMetaData();
            int driverMaxConnections = metaData.getMaxConnections();

            if (driverMaxConnections > 0) {
                this.maxConnections = Math.min(maxConnections, driverMaxConnections);
            }

        }

        return conn;

    }