您的位置:首页 > 运维架构 > Tomcat

新的数据库连接池Tomcat jdbc pool配置(tomcat7及其以上版本才有)

2015-10-26 11:00 721 查看

参考原文https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html

导入的资源包是在tomcat的lib和bin目录下的tomcat-dbcp.jar和tomcat-juli.jar

1.Tomcat 中直接使用的方法:

在conf/server.xml下的<GlobalNamingResources>节点里配置resource,例如

<Resource name="jdbc/TestDB"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
testWhileIdle="true"
testOnBorrow="true"
testOnReturn="false"
validationQuery="SELECT 1"

validationInterval="30000"
timeBetweenEvictionRunsMillis="30000"
maxActive="100"
minIdle="10"
maxWait="10000"
initialSize="10"
removeAbandonedTimeout="60"
removeAbandoned="true"
logAbandoned="true"
minEvictableIdleTimeMillis="30000"
jmxEnabled="true"
jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;
org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"
username="root"
password="password"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mysql"/>
[/code]
然后,在context.xml文件的<Context></Context>节点中添加如下配置:

<ResourceLink global="jdbc/TestDB" name="jdbc/TestDB"  type="javax.sql.DataSource" />

用JSP测试一下:

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@page import="java.sql.Connection"%>

<%@page import="javax.naming.Context"%>

<%@page import="javax.naming.InitialContext"%>

<%@page import="javax.sql.DataSource"%>

<%@page import="java.sql.Statement"%>

<%@page import="java.sql.ResultSet"%>

<%

   //连接池的获取

    Connection conn = null;

    DataSource ds = null;

    ResultSet rs  =null;

    Statement stmt = null;

    Context initCtx = new InitialContext();

    ds =(DataSource)initCtx.lookup("java:comp/env/jdbc/TestDB");

   if(ds!=null){

        out.println("已经获得DataSource!");

        out.println("<br>");

        conn = ds.getConnection();

       try{

        stmt = conn.createStatement();

        String sql ="select * from tab_msg";

        rs = stmt.executeQuery(sql);

        out.println("以下是从数据库中读取出来的数据:<br>");

            while(rs.next()){

                out.println("<br>");

                out.println(rs.getString("title"));

            }

       }catch(Exception ex){

         ex.printStackTrace();

       }finally{

          conn.close();

          rs.close();

          stmt.close();

       }

   }

%>

备注:在eclipse中配置文件要写在Servers中,并且像mysql_connector_java_5.1.34_bin.jar之类的包要放在tomcat的lib目录下

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: