Tomcat数据库连接池配置 【转载】
2010-04-02 17:48
204 查看
这里以MySQL为例:
首先是conf目录下的server.xml
GlobalNamingResources中添加:
<Resource
name="java/mysql/test
"
type="javax.sql.DataSource"
password="root"
driverClassName="com.mysql.jdbc.Driver"
maxIdle="2"
maxWait="5000"
username="root"
url="jdbc:mysql://127.0.0.1:3306/test"
maxActive="20"/>
在content.xml中添加:
<ResourceLink
name="java/mysql/test
"
type="javax.sql.DataSource"
global="java/mysql"/>
由于定义的是global的,所以不需要
在所在应用中的web.xml中添加:
<resource-ref>
<description>MySQL DB Connection Pool</description>
<res-ref-name>java/mysql/test
</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
注意保持黑体部分的一致性,这样在程序中就可以使用了:
import java.io.Serializable;
import java.sql.*;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;
import javax.sql.DataSource;
public class ConnectionPool implements Serializable{
private String URI = "java:comp/env/java/mysql";
private DataSource dataSource;
private static ConnectionPool connectionpool;
private Connection connection;
private InitialContext getInitialContext()throws NamingException{
return new InitialContext();
}
public Connection getConnection()throws NamingException, SQLException{
if(dataSource == null){
InitialContext initialcontext = getInitialContext();
Object obj = initialcontext.lookup(URI);
dataSource = (DataSource)PortableRemoteObject.narrow(obj, javax.sql.DataSource.class);
initialcontext.close();
}
connection = dataSource.getConnection();
return connection;
}
public static void main(String[] args) {
try{
Connection con = connectionpool.getConnection();//获取连接
PreparedStatement pst = con
.prepareStatement("select count(*) from test.user;");
ResultSet rs = pst.executeQuery();
while(rs.next()){
System.out.println(rs.getString(1));
}
} catch (Exception e) {
e.printStackTrace();
}
connectionpool.close();
}
public void close(){
try {
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
首先是conf目录下的server.xml
GlobalNamingResources中添加:
<Resource
name="java/mysql/test
"
type="javax.sql.DataSource"
password="root"
driverClassName="com.mysql.jdbc.Driver"
maxIdle="2"
maxWait="5000"
username="root"
url="jdbc:mysql://127.0.0.1:3306/test"
maxActive="20"/>
在content.xml中添加:
<ResourceLink
name="java/mysql/test
"
type="javax.sql.DataSource"
global="java/mysql"/>
由于定义的是global的,所以不需要
在所在应用中的web.xml中添加:
<resource-ref>
<description>MySQL DB Connection Pool</description>
<res-ref-name>java/mysql/test
</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
注意保持黑体部分的一致性,这样在程序中就可以使用了:
import java.io.Serializable;
import java.sql.*;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;
import javax.sql.DataSource;
public class ConnectionPool implements Serializable{
private String URI = "java:comp/env/java/mysql";
private DataSource dataSource;
private static ConnectionPool connectionpool;
private Connection connection;
private InitialContext getInitialContext()throws NamingException{
return new InitialContext();
}
public Connection getConnection()throws NamingException, SQLException{
if(dataSource == null){
InitialContext initialcontext = getInitialContext();
Object obj = initialcontext.lookup(URI);
dataSource = (DataSource)PortableRemoteObject.narrow(obj, javax.sql.DataSource.class);
initialcontext.close();
}
connection = dataSource.getConnection();
return connection;
}
public static void main(String[] args) {
try{
Connection con = connectionpool.getConnection();//获取连接
PreparedStatement pst = con
.prepareStatement("select count(*) from test.user;");
ResultSet rs = pst.executeQuery();
while(rs.next()){
System.out.println(rs.getString(1));
}
} catch (Exception e) {
e.printStackTrace();
}
connectionpool.close();
}
public void close(){
try {
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
相关文章推荐
- Tomcat数据库连接池配置
- tomcat的配置文件server.xml不支持中文注释的解决办法(转载)
- Tomcat5.5数据库连接池的配置详细
- window xp Apache与Tomcat集群配置--转载
- Linux配置Tomcat(转载)
- Tomcat dbcp 数据库连接池 的配置及使用
- Tomcat应用程序目录、端口、默认目录、应用程序默认打开文件、使用数据库连接池等方面的配置
- Tomcat 7-dbcp配置数据库连接池详解
- JBuilder + Tomcat 数据库连接池的配置方法
- Tomcat数据库连接池配置
- 在tomcat下context.xml中配置各种数据库连接池
- (转载)一个tomcat ssl 配置开启的教程
- tomcat-dbcp数据库连接池配置以及使用时候的一些坑
- MyEclipse+Tomcat + Servlet开发配置(转载)
- tomcat配置数据库连接池
- tomcat下通过JNDI配置数据库连接池
- Tomcat 配置 JNDI 数据库连接池
- tomcat配置数据库连接池步骤详解
- 配置数据库连接池之JNDI的方式,tomcat
- Tomcat数据库连接池的配置方法总结