tomcat连接池问题
我们正在为我们的应用程序使用tomcat连接池。从日志中不时观察到连接在池中不可用。虽然它不会停止应用程序服务器本身,但用户操作因此而中断。我们将下列参数传递给数据源:tomcat连接池问题
<Resource
name=XXXXX
type=xxxxx
username=xxxxx
password=xxxxxx
driverClassName=xxxxx
maxIdle=2
url=xxxxx
maxActive=10
/>
问:有没有可能是连接池变空了一定时间,然后再连接是avaible?
连接池不会下降到0,除非所有空闲连接都无法通过验证查询。这里发生的事情是,你的连接闲置超时到最大空闲大小2.空闲连接通常是一件好事,因为它们避免了你遇到的确切问题;打开新的连接是昂贵的。
你好,约翰,谢谢你的回复。如果我添加initialSize和minIdle参数会有帮助吗? – user2647805
当连接池启动时,它将创建initialSize连接。随着更多连接被同时请求,它将增长到maxActive。一旦这些连接变为空闲状态,它将降至maxIdle。一旦这些空闲连接超时,它将下降到minIdle。提高maxIdle和minIdle将导致更长时间保持更多空闲连接。提高初始大小将推动空闲连接创建而不是根据用户需求启动。将minIdle设置为initialSize也是一个很好的开始。 –
我本来以为你会想要minIdle –
你问的问题的答案是“YES”,但这个答案可能毫无价值,因为你已经从你的程序行为中知道它。 –
@Scary minIdle默认为initialSize,即10 – ravthiru