Apache DBCP中的maxWait是什么?

Jul*_*lia 2 java apache-commons-dbcp

我试图了解org.apache.commons.dbcp.BasicDataSource中的maxWait是什么.文档说它是:

池将在抛出异常之前返回的连接等待(当没有可用连接时)的最大毫秒数,或<= 0无限期等待.

但我还是无法理解.我试着去谷歌,但我的怀疑只是增加了.

我看到两种解释这个定义的方法:

  1. maxWait是使用此池的应用程序将等到它获得异常(如果池没有可用于返回应用程序的空闲连接)的最大毫秒数.即如果池没有空闲连接,应用程序将等待新连接的这段时间,直到它获得异常.
  2. maxWait是可以打开连接的最大毫秒数.如果此类连接未在此时间内关闭,则池将引发异常.

请帮助我理解哪个陈述是真的.或者可能还有其他一些定义:)

小智 8

maxWait应该是在所有连接当前忙碌时抛出异常之前,获取连接的呼叫将在池中等待的时间.

您在#2中描述的行为似乎是日志放弃超时,即在池决定放弃连接之前可以租用连接的时间(未关闭,这只会将其返回到池而不是实际关闭它) .)

查看http://commons.apache.org/proper/commons-dbcp/configuration.html查看我所指的废弃设置.