Java:删除';打印';语句在从数据源请求连接时导致超时异常?

Java:删除';打印';语句在从数据源请求连接时导致超时异常?,java,connection-pooling,Java,Connection Pooling,有人能就以下Java一般问题提供建议吗 下面是一些伪代码(异常处理等已删除)来表示我遇到的问题: public void initializeConnection(DataSource dataSource) { // Declare collection to hold all connections Collection<Connection> pool = new ArrayList<Connection>(); // Loop thro

有人能就以下Java一般问题提供建议吗

下面是一些伪代码(异常处理等已删除)来表示我遇到的问题:

public void initializeConnection(DataSource dataSource) {

    // Declare collection to hold all connections
    Collection<Connection> pool = new ArrayList<Connection>();

    // Loop through all connections
    int i = 0;
    while(i <= dataSource.getMaxActive()){
       Connection conn = dataSource.getConnection();
       // do something with connection, then add it to a collection
       pool.add(conn)

       i++;
       // REMOVE THIS PRINT OUT AND CODE THROWS GETCONNECTION TIMEOUT EXCEPTION
       System.out.println( i );

    }

    // Traverse through the collection and close all connections
}
public void initializeConnection(数据源数据源){
//声明集合以保留所有连接
集合池=新的ArrayList();
//通过所有连接进行循环
int i=0;

while(如果调用
dataSource.getConnection()则为i)
多次从同一线程获得相同的连接,因为数据源实现通过ThreadLocal将其绑定到线程,并且它会注意到您已经收到了连接。因此,我怀疑此代码是否真的符合您的要求

如果不是这样,那么代码将至少执行maxActive+1次块,这是一次太频繁了