JDBC 配置Tomcat的连接池和数据源
2012-12-03 21:03 coffeescript 阅读(379) 评论(0) 编辑 收藏 举报修改conf目录下的context.xml文件
<Context reloadable="true"> <!-- Default set of monitored resources --> <WatchedResource>WEB-INF/web.xml</WatchedResource> <!-- Uncomment this to disable session persistence across Tomcat restarts --> <!-- <Manager pathname="" /> --> <!-- Uncomment this to enable Comet connection tacking (provides events on session expiration as well as webapp lifecycle) --> <!-- <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" /> --> <!--MySql--> <Resource name="define your name" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="root" password="root" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/your table"/> </Context>
initialSize是Tomcat服务器启动后最初建立的连接数。
maxActive为连接池同一时间可分配的最大连接数,如果参数值是非正数,表示不作限制。
auth是验证方式。
maxIdle即连接池中可以保留的最大的空闲连接数量,大于此数量的空闲连接会被释放,负数表示不做限制。
minIdle为连接池中可以保留的最小的空闲连接数量,如果小于此数量,更多的空闲连接会被创建,"0"表示不创建。
通过下面的代码片段来通过数据源对象获得连接池中的数据库的连接对象:
Context context=new InitialContext(); DataSource ds=(DataSource)context.lookup("java:/comp/env/yournamehere"); Connection conn=ds.getConnection();
context是JNDI的上下文对象,类似于当前目录,调用这个对象的lookup()方法可以根据指定的JNDI的名字获取一个数据源对象.
注意:
这种方式获取的Connection对象在使用完后,必须显式调用该对象的close()方法,释放资源。即将当前的Connection对象再返回到连接池中,而不是真正的关闭其相应的到数据库的连接。
作者:coffeescript
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.