数据库连接池的解决方案:再应用程序启动时建立足够的数据库连接,并将这些连接组成一个
连接池,使应用程序动态的对池中的连接进行申请、使用和释放。对于多余连接池中连接数的并发请求,需要再请求队列中排队等待,并且应用程序可以根据池中连接的使用率,动态增加或减少池中的连接数。

数据源接口java.sql.DataSource的一些方法如下:

getConnection():获得一个Connection对象。
getConnection(String username,String password);获得一个带有用户名和密码的Connction对象。
getLongWriter();从DataSource中获得LongWriter对象,它是PrinterWriter的实例
setLongWriter(PrintWriter out):设置Datasource的LongWriter
getLOginTimeout():获得DataSource尝试连接数据库的最大时间
SetLoginTimeout(int seconds):设置DataSource尝试连接数据库的最大时间