通过JNDI创建连接池
Posted aikf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过JNDI创建连接池相关的知识,希望对你有一定的参考价值。
配置Context的五种方式
1,由服务器创建的连接池一定要将mysql驱动文件放在tomcat的lib文件夹内
2,在META-INF文件夹里新建context.xml(发布web应用的时候会在tomcat/conf/Catalina/localhost生成配置文件)
1 <Context ...> 2 ... 3 <Resource name="jdbc/EmployeeDB" 4 auth="Container" 5 type="javax.sql.DataSource" 6 username="root" 7 password="root" 8 driverClassName="com.mysql.jdbc.Driver" 9 url="jdbc:mysql://localhost:3306/mydata" 10 maxTotal="8" 11 maxIdle="4"/> 12 </Context>
3,编写程序获取数据源
// 初始化JNDI容器 Context initCtx = new InitialContext(); // 根据名称获取JNDI容器 Context envCtx = (Context) initCtx.lookup("java:comp/env"); // 获取数据源 DataSource ds = (DataSource) envCtx.lookup("jdbc/EmployeeDB"); // 获取链接 Connection conn = ds.getConnection(); ... use this connection to access the database ... conn.close();
服务器启动的时候会创建JNDI容器,将连接池保存到容器里面,并把连接池绑定到一个名称上面,如上面的"jdbc/EmployeeDB"
扩展:服务器在运行的时候会创建一些对象,常见的方式是在调用方法的时候传入,如Request,Response,在调用Servlet的时候传入方法
服务器可能会把创建的对象放在JNDI容器内,当程序需要的时候自行去容器内获取
以上是关于通过JNDI创建连接池的主要内容,如果未能解决你的问题,请参考以下文章