Tomcat4.1、5.5、6.0的连接池配置及测试程序
2009-10-16 15:31
453 查看
http://xiaoyongxin.javaeye.com/blog/337698
连接池配置需要在应用部署文件的<Context>节点内添加<Resource>描述。
对于Tomcat5和Tomcat6,官方建议不要将<Context>的配置直接写在server.xml中,使用单独的xml文件部署应用的方法请参见:http://www.blogjava.net/fastunit/archive/2008/05/22/202112.html
本文的测试环境:
应用程序根路径:D:/fastunit
数据库:oracle9i
一、拷贝数据库驱动jar文件放到Tomcat下
1、Tomcat4/Tomcat5:放到/common/lib/下
2、Tomcat6:放到/lib/下
对于oralce9i,需要拷贝的jar文件位于/oralce安装路径/ora92/jdbc/lib/classes12.jar
二、Tomcat连接池配置
设置参数时,driverClassName、url、username、password的值根据实际情况设定。
本例将jndi名称设为“dstest”。
1、Tomcat4
<Context path="" docBase="D:/fastunit" privileged="true">
<Resource name="dstest" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="dstest">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<parameter>
<name>username</name>
<value>app</value>
</parameter>
<parameter>
<name>password</name>
<value>app</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@127.0.0.1:1521:orcl</value>
</parameter>
</ResourceParams>
</Context>
2、Tomcat5/Tomcat6
<Context path="" docBase="D:/fastunit" privileged="true">
<Resource
name="dstest"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="app"
password="app"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:orcl"/>
</Context>
三、连接池测试
下面的jsp文件中ctx.lookup("java:comp/env/dstest"),“dstest”对应为<Resource>节点的“name”属性值。
<%@ page import="java.sql.*,javax.sql.*,javax.naming.*" %>
<%
Connection conn = null;
try{
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/dstest");
conn = ds.getConnection();
out.print("connection pool connected !");
}catch (Exception e) {
out.print(e.getMessage());
e.printStackTrace();
}finally {
if(conn!=null) conn.close();
}
%>
四、<Resource>节点参数说明
1、name
:数据源名称
2、driverClassName
:JDBC驱动的类路径
3、url
:数据库连接URL
4、username
/password
:数据库的用户名和密码
5、其他参数,请参考相应版本的官方说明:
http://tomcat.apache.org/tomcat-4.1-doc/jndi-datasource-examples-howto.html http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html
似乎Hibernate对DBCP连接池支持的不太好,Hibernate3已经不支持DBCP了。我是在Tomcat的server.xml中配置DBCP的连接池的。如下:
Java代码
<Context path=""
docBase="C:/tomcat/webapps/ROOT"
reloadable="false"
>
<Resource
name="jdbc/aaaaDB"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
username="aaaa"
password="aaaa"
driverClassName="oracle.jdbc.driver.OracleDriver"
maxIdle="10"
maxWait="15000"
maxActive="50"
url="jdbc:oracle:thin:@10.0.0.3:1521:orcl"
/>
</Context>
Hibernate.cfg.xml如下:
Java代码
<property name="connection.datasource"
>
java:comp/env/jdbc/aaaaDB
</property>
<!-- dialect for
Oracle (any version) -->
<property name="dialect"
>
net.sf.hibernate.dialect.Oracle9Dialect
</property>
<property name="hibernate.connection.provider_class"
>
net.sf.hibernate.connection.DatasourceConnectionProvider
</property>
Java EE 5
中要求将资源在web.xml
中进行声明,对于一个数据源,可以在web.xml
中这样配置:
<resource-ref>
<res-ref-name>jdbc/mydb</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
连接池配置需要在应用部署文件的<Context>节点内添加<Resource>描述。
对于Tomcat5和Tomcat6,官方建议不要将<Context>的配置直接写在server.xml中,使用单独的xml文件部署应用的方法请参见:http://www.blogjava.net/fastunit/archive/2008/05/22/202112.html
本文的测试环境:
应用程序根路径:D:/fastunit
数据库:oracle9i
一、拷贝数据库驱动jar文件放到Tomcat下
1、Tomcat4/Tomcat5:放到/common/lib/下
2、Tomcat6:放到/lib/下
对于oralce9i,需要拷贝的jar文件位于/oralce安装路径/ora92/jdbc/lib/classes12.jar
二、Tomcat连接池配置
设置参数时,driverClassName、url、username、password的值根据实际情况设定。
本例将jndi名称设为“dstest”。
1、Tomcat4
<Context path="" docBase="D:/fastunit" privileged="true">
<Resource name="dstest" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="dstest">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<parameter>
<name>username</name>
<value>app</value>
</parameter>
<parameter>
<name>password</name>
<value>app</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@127.0.0.1:1521:orcl</value>
</parameter>
</ResourceParams>
</Context>
2、Tomcat5/Tomcat6
<Context path="" docBase="D:/fastunit" privileged="true">
<Resource
name="dstest"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="app"
password="app"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:orcl"/>
</Context>
三、连接池测试
下面的jsp文件中ctx.lookup("java:comp/env/dstest"),“dstest”对应为<Resource>节点的“name”属性值。
<%@ page import="java.sql.*,javax.sql.*,javax.naming.*" %>
<%
Connection conn = null;
try{
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/dstest");
conn = ds.getConnection();
out.print("connection pool connected !");
}catch (Exception e) {
out.print(e.getMessage());
e.printStackTrace();
}finally {
if(conn!=null) conn.close();
}
%>
四、<Resource>节点参数说明
1、name
:数据源名称
2、driverClassName
:JDBC驱动的类路径
3、url
:数据库连接URL
4、username
/password
:数据库的用户名和密码
5、其他参数,请参考相应版本的官方说明:
http://tomcat.apache.org/tomcat-4.1-doc/jndi-datasource-examples-howto.html http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html
似乎Hibernate对DBCP连接池支持的不太好,Hibernate3已经不支持DBCP了。我是在Tomcat的server.xml中配置DBCP的连接池的。如下:
Java代码
<Context path=""
docBase="C:/tomcat/webapps/ROOT"
reloadable="false"
>
<Resource
name="jdbc/aaaaDB"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
username="aaaa"
password="aaaa"
driverClassName="oracle.jdbc.driver.OracleDriver"
maxIdle="10"
maxWait="15000"
maxActive="50"
url="jdbc:oracle:thin:@10.0.0.3:1521:orcl"
/>
</Context>
Hibernate.cfg.xml如下:
Java代码
<property name="connection.datasource"
>
java:comp/env/jdbc/aaaaDB
</property>
<!-- dialect for
Oracle (any version) -->
<property name="dialect"
>
net.sf.hibernate.dialect.Oracle9Dialect
</property>
<property name="hibernate.connection.provider_class"
>
net.sf.hibernate.connection.DatasourceConnectionProvider
</property>
Java EE 5
中要求将资源在web.xml
中进行声明,对于一个数据源,可以在web.xml
中这样配置:
<resource-ref>
<res-ref-name>jdbc/mydb</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
相关文章推荐
- [转]Tomcat4.1、5.5、6.0的连接池配置及测试程序
- Tomcat4.1、5.5、6.0的连接池配置及测试程序
- tomcat 下配置访问日志文件 以及 用awstats配置和分析日志(tomcat5.5 6.0测试通过)
- 连接池配置——Tomcat6.0/5.5+MySQL5.0+JDK1.6+MyEclipse8.0GA
- Tomcat6.0连接池配置
- Tomcat6.0 连接池的配置 oracle篇
- tomcat5.5+mysql数据库连接池 的相关配置
- Tomcat5.5 连接池配置
- tomcat6.0连接池的配置,连接池配置
- tomcat5.5 连接池 域名配置
- (转)Tomcat5.0-5.5连接池配置指南
- 怎样配置Tomcat6.0的数据库连接池详解
- Java数据库连接-JNDI方式- 配置Tomcat6.0 连接池
- tomcat 6.0环境配置及测试(转)
- Tomcat5.5 配置数据库连接池【MySQL+Tomcat-0.1】
- (转)Tomcat5.0-5.5连接池配置指南
- Tomcat6.0 Mysql 连接池配置
- 测试Tomcat5.5.x配置连接池
- Tomcat6.0配置连接池连接SQL Server 2008数据库
- Tomcat5.0-5.5连接池配置指南