基于Tomcat的配置文件的连接池:(利用JNDI配置)
* 配置只对当前web的应用有效的连接池
配置方法一:
* 在tomcat的服务器的conf/server.xml的<Host>标签中增加如下的代码:
<Context path="/jndidataSource" docBase="D:\workspace\jndidataSource\WebRoot" reloadable="true"> <Resource name="jdbc/mysql" //JNDI的名称,通过该名称查找连接池对象 auth="Container" //连接池的管理方式,容器管理Container和应用程序管理(application),这里使用容器管理 type="javax.sql.DataSource" //连接池的类型 maxActive="10" //最大连接数 maxIdle="3" //最大空闲数 maxWait="5000" //最长等待时间 username="root" password="123456" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test"/> </Context>
java代码获取连接
import java.sql.Connection; import java.sql.SQLException; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; import org.junit.Test; public class TestJNDI { @Test public void test(){ try { //执行命名操作的初始上下文,符合jndi的规范,利用initContext对象查找服务器的公有空间 Context initContext = new InitialContext(); /* * 在服务器的公有空间中,查找java:/comp/env * * java:/comp/env:固定写法,表示服务器的环境命名上下文空间 * * envContext: 表示环境命名上下文空间 */ Context envContext = (Context)initContext.lookup("java:/comp/env"); /* * envContext:表示环境命名上下文空间 * * 在环境命名上下文空间查找连接池对象 */ DataSource ds = (DataSource)envContext.lookup("jdbc/mysql"); //获取连接 Connection conn = ds.getConnection(); System.out.println("conn "+conn); } catch (SQLException e) { e.printStackTrace(); } } }
配置方法二:
* 在tomcat的服务器的conf目录下创建catalina文件夹,在catalina文件夹下创建localhost文件夹
* 在localhost文件夹下创建jndidataSource.xml(和工程名称要一致)
jndidataSource.xml内容如下
<?xml version='1.0' encoding='utf-8'?> <Context docBase="D:\\workspace\\jndidataSource\\WebRoot" reloadable="true"> <Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource" maxActive="10" maxIdle="3" maxWait="1000" username="root" password="root" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test"/> </Context>
java 读取方法同配置方法一
* 配置对所有的web的应用有效的连接池
* 在tomcat服务器的conf目录下context.xml文件中增加如下代码
<Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource" maxActive="10" maxIdle="3" maxWait="1000" username="root" password="root" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test"/>
java读取方法同配置方法一
文章评论