我正在开始研究一个位于Oracle 10g上的小型Java Web应用程序。预期的用户群最多可达100个用户。我不希望使用该应用程序一次看到超过50个用户。
现在,我正在考虑DBCP,C3P0或Tomcat JDBC连接池,但是这会为这么小的用户群增加真正的价值吗?我从来没有使用任何解决方案,所以存在引入复杂性的风险(我已经看到其他线程,人们面临着连接池的一些疯狂问题)而且我不确定这些好处会超过风险。 或者还有其他方法吗?也许Oracle拥有自己的解决方案?
请帮忙。
谢谢。
答案 0 :(得分:5)
在每个请求上创建数据库连接都很昂贵,这会导致您的应用和数据库服务器花费大量时间创建和拆除连接,而不是为用户提供有用的数据。
即使用户群相对较小,最好还是准备好一个连接池,以便在请求到达时为其提供服务。
我的经验与您可能看到的其他线程形成鲜明对比,连接池是一项经过充分验证的技术,我在任何平台上都没有遇到过问题。
Oracle确实有自己的连接池,称为Oracle Universal Connection Pooling(“UCP”)。您可以使用提供此功能的数据源,也可以使用vanilla数据源并将问题中列出的技术层叠在最上面。