jndi数据库连接池

来源:互联网 发布:warframe端口 编辑:程序博客网 时间:2024/05/04 02:13

转自:http://blog.163.com/yangzhanghui_job/blog/static/179575062201271393955539/

jndi数据库连接池  

连接池中的maxIdle,MaxActive,maxWait参数 

http://blog.chinahr.com/blog/Eddy_Su/post/100268

maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制。
MaxActive,连接池的最大数据库连接数。设为0表示无限制。
maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
*maxActive:最大连接数据库连接数,设 0 为没有限制 
*maxIdle:最大等待连接中的数量,设 0 为没有限制 
*maxWait:最大等待毫秒数, 单位为 ms, 超过时间会出错误信息
一般把maxActive设置成可能的并发量就行了
maxActive、maxIdle和maxWait参数:

maxActive是最大激活连接数,这里取值为20,表示同时最多有20个数据库连接。maxIdle是最大的空闲连接数,这里取值为20,表示即使没有数据库连接时依然可以保持20空闲的连接,而不被清除,随时处于待命状态。MaxWait是最大等待秒钟数,这里取值-1,表示无限等待,直到超时为止,也可取值9000,表示9秒后超时。
 
如何配置数据库连接池:
1. 在Tomcat安装目录下conf目录下server.xml中最后的“</Host>”标记之前添加
如下配置:
 <Context path="/myinfoSystem" docBase="myinfoSystem"
          debug="5" reloadable="true" crossContext="true"   workDir="">
    <Resource   name="infosys"
               auth="Container"
      type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="root" password="system"
      driverClassName="org.gjt.mm.mysql.Driver"
      url="jdbc:mysql://localhost/yzh"/>
 </Context> 
2. 在本应用的WEB-INF目录下web.xml文件中添加如下配置
   <resource-ref>
       <description>DB Connection</description>
       <res-ref-name>infosys</res-ref-name>
       <res-type>javax.sql.DataSource</res-type>
       <res-auth>Container</res-auth>
   </resource-ref>  
3. 在JSP或Servlet或JavaBean中用如下Java代码获得数据库连接
            Context initial = new InitialContext();    
            //其中mysql为数据源jndi名称       
            DataSource ds = (DataSource)initial.lookup("java:comp/env/infosys");
            Connection con=ds.getConnection();

原创粉丝点击