问题:发现刚刚发布的spring应用程序经常出现获取不到数据库连接的timeout 错误。仔细看代码后发现,有段代码需要连续发起两个query,常常是发第二个query时出现数据库连接获取不到的错误
原因:仔细读了spring文档,发现由于使用的datasource是Spring提供的DriverManagerDataSource,而该dataSource是不支持Connection Pool的,所以性能很低,Spring也是推荐不要采用这个dataSource。改用Apache的DBCP dataSource后解决该问题。
修改配置:
bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
摘自 我的家园