- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Tomcat6.0的数据库连接池设置与应用
Tomcat6.0的数据库连接池设置与应用
连接池绝对注意事项:
使用连接池时需要牢记的最重要事项是,无论在代码中出现了什么(异常、控制流等),连接以及由连接创建的任何部分(语句、结果集等)均应被关闭,以 便能再次使用它们。如不然,它们将纠缠在一起,在最好的情况下,意味着它们所代表的MySQL服务器资源(缓冲区、锁定、套接字等)可能会捆绑一段时间, 在最坏的情况下,可能会导致永久捆绑。
连接池的最佳大小是什么?
与所有其他配置经验规则一样, 回答是“它取决于具体情况”。尽管最佳大小取决与预期的负载和平均的数据库事务时间,最佳的连接池大小小于你的预期。例如,如果使用的是Sun公司的 Java Petstore Blueprint应用程序,对于包含15~20个连接的连接池,使用MySQL和Tomcat,在可接受的相应时间下,可服务于中等程度的负载(600 个并发用户)。
要想确定用于应用程序的连接池大小,应使用诸如Apache Jmeter或The Grinder等工具创建负载测试脚本,并对应用程序进行负载测试。
确定出发点的一种简单方法是,将连接池的最大连接数配置为“无限”,运行负载测试,并测量最大的并发连接数。随后,应进行反向操作,确定出使应用程序具有最佳性能的连接池的最小和最大值。
1.将数据库驱动程序的JAR文件放在Tomcat的?/lib?中;2. .配置tomcat下的conf下的context.xml文件,在context/context之间添加连接池如下:
Resource name=jdbc/MySQL
auth=Container
type=javax.sql.DataSource
driverClassName=com.mysql.jdbc.Driver
url=jdbc:MySQL://localhost/notes
username=root
password
maxActive=100
maxIdle=30
maxWait=10000 /
属性说明:name,数据源名称,通常取”jdbc/XXX”的格式;可能与数据库名一致????????????type,”javax.sql.DataSource”;????????????password,数据库用户密码;????????????driveClassName,数据库驱动;????????????maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连?????????????????????接将被标记为不可用,然后被释放。设为0表示无限制。????????????MaxActive,连接池的最大数据库连接数。设为0表示无限制。????????????maxWait?,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示?????????????????????无限制。
3.在你的web应用程序的web.xml中设置数据源参考,如下:??在web-app/web-app节点中加入,?resource-ref
descriptionDB Connection/description
res-ref-namejdbc/MySQL/res-ref-name
res-typejavax.sql.DataSource/res-type
res-authContainer/res-auth
/resource-ref ?
?子节点说明:?description,描述信息;
?res-ref-name,参考数据源名字,同上一步的属性name;res-type,资源类型,”javax.sql.DataSource”;?res-auth,”Container”;
?res-sharing-scope,”Shareable”;4.1建立一个连接池类,DBPool.java,用来创建连接池,代码如下:import?javax.naming.Context;import?javax.naming.InitialContext;import?javax.naming.NamingException;import?javax.sql.DataSource;public?class?DBPool?{????private?static?DataSource?pool;????static?{?????????Context?env?=?null;??????????try?{??????????????env?=?(Con
文档评论(0)