1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 数据库连接池和Tomcat连接池的配置问题

数据库连接池和Tomcat连接池的配置问题

时间:2018-10-10 11:28:19

相关推荐

数据库连接池和Tomcat连接池的配置问题

在做系统优化的时候师哥给我们提了一个连接池的概念,问我们有没有配置,我对这个概念一无所知,于是进行了一些研究,连接池有很多,比如WCF、EF还有数据库、CAS也可以配连接池,这些连接池用通俗的语言来说就是一个池子,池子里的资源可以收放自如,不用的时候可以立即收回,和我们通常用到USing的作用有些相似,就是可以自动的释放connection资源。

数据库中连接池的配置如下:

<span style="font-size:14px;"> </span><strong><span style="font-size:18px;"> stringconStr ="server=127.0.0.1.;uid=sa;pwd=tcaccp;database=pubs;pooling=true;min pool size=5;max pool size=10".</span></strong>

其中 pooling 表示是否打开连接池,默认为打开,关掉时需要 pooling = false;

min pool size 表示连接池最少保存几个连接对象;

max pool size 表示连接池最多保存几个连接对象。(最大值不能为 0,也不能小于最小值);

最大连接数表示同时刻最多允许的访问的数量,可以起到保护站点的作用;最小表示即使没有访问也会打开几个连接。

下面是段关于using的代码:

using (SqlBulkCopy sqlBC = new SqlBulkCopy(sqlConn)) { //設定 NotifyAfter 属性,以便在每插入10000 条数据时,呼叫相应事件。 //设置要批量写入的表 sqlBC.DestinationTableName = tableName; //自定义的datatable和数据库的字段进行对应 //sqlBC.ColumnMappings.Add("id", "tel"); //sqlBC.ColumnMappings.Add("name", "neirong"); for (int i = 0; i < dtColum.Count; i++) { sqlBC.ColumnMappings.Add(dtColum[i].ColumnName.ToString(), dtColum[i].ColumnName.ToString()); } //批量写入 sqlBC.WriteToServer(dt); }

这里用了using,自动关闭连接,不光能导入命名空间,还能在程序体内,局部使用某个对象。像上边代码,sqlCon 的作用域只有 using 对应的大括弧这么大。更神奇的是,using 可以在对象作用域结束时,自动调用 sqlCon.Dispose()将对象释放,所以以上代码中,没有 sqlCon.Close() 和 sqlCon.Dispose(),同样可以释放资源,放回连接池。

上面说的是关于数据库连接池的一些配置,下面说下Tomcat连接池的配置,因为在用单点登录的时候需要将服务端搭到Tomcat中,而我们在测试的时候发现登录很慢,于是我也搜了一些关于Tomcat连接池的配置:

1.所有的tomcat项目共用一个连接池配置:在tomcat6->conf->context.xml文件中,在<context></context>之间添加

<Context> <Resource name="jdbc/mengshan" auth="Container" type="javax.sql.DataSource" maxActive="20" maxIdel="10"maxWait="1000" username="root" password="" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/test" > </Resource> </Context>

然后 web.xml中的<web-app></web-app>添加:

<resource-ref> <res-ref-name>jdbc/mengshan </res-ref-name> <res-type>javax.sql.DataSource </res-type> <res-auth>Container</res-auth> </resource-ref>

这些连接池配置的原理其实是一样的,只是放到了不用的情景下。希望和大家交流!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。