tomcat服务器连接数问题解决http://blog.csdn.net/ruixj/article/details/754079Resource namejdbc/Ora
tomcat服务器连接数问题解决
http://blog.csdn.net/ruixj/article/details/754079 <Resource name="jdbc/OracleDB" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/OracleDB">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@10.11.6.1:1521:dbname</value>
</parameter>
<parameter>
<name>username</name>
<value>yourname</value>
</parameter>
<parameter>
<name>password</name>
<value>yourpasswd</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>1000</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>20</value> </parameter>
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
</ResourceParams>
</Context>
maxActive 是最大激活连接数,这里取值为1000,表示同时最多有1000个数据库连接。maxIdle是最大的空闲连接数,这里取值为20,表示即使没有数据库连 接时依然可以保持20空闲的连接,而不被清除,随时处于待命状态。MaxWait是最大等待秒钟数,这里取值-1,表示无限等待,直到超时为止,也可取值 9000,表示9秒后超时。
修改web.xml文文件,加入
<resource-ref>
<description>Oracle
Datasource example</description>
<res-ref-name>jdbc/OracleDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
将Oracle的JDBC驱动classes12.jar拷贝到Tomcat安装目录的common/lib下。建立简单的测试页面test2.jsp:
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
ds = (DataSource)envCtx.lookup("jdbc/OracleDB");
Connection cn=ds.getConnection();
进行测试,发现问题还没有解决,在同时连接100人的时候再次出错。
最后仔细检查后,发现是未释放connection资源,使用cn.close()方法,可以同时连接500个用户了。?