Tomcat 中Jndi是使用Tomcat自带的连接池
抛弃Tomcat自带的连接池。使用c3p0 。
环境:Tomcat 5.5.20
下面配置只适合Tomcat 5.5.X
下面来看Jndi 与 c3p0 结合:
c3p0 下载地址:
http://nchc.dl.sourceforge.net/sourceforge/c3p0/c3p0-0.9.0.4.bin.zip把 c3p0-0.9.0.4.jar 放到应用服务的WEB-INF/lib目录下。如:DBTest/WEB-INF/lib
1.在server.xml中<Context></Context>内加<Resource />,完整的示例:
<Context path="/DBTest" docBase="DBTest"
debug="5" reloadable="true" crossContext="true">
<Resource auth="Container"
driverClass="com.mysql.jdbc.Driver"
maxPoolSize="50" minPoolSize="2" acquireIncrement="2"
name="jdbc/connPool" user="root" password=""
factory="org.apache.naming.factory.BeanFactory"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
jdbcUrl="jdbc:mysql://localhost:3306/test" />
</Context>
2.在web.xml添加:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/connPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
3.测试页面testConnPool.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<sql:query var="rs" dataSource="jdbc/connPool">
select id, typename from text
</sql:query>
<html>
<head>
<title>DB Test Conn Pool c3p0 and Jndi</title>
</head>
<body>
<h2>Results</h2>
<c:forEach var="row" items="${rs.rows}">
id: ${row.id}<br/>
name: ${row.typename}<br/>
</c:forEach>
</body>
</html>
分享到:
相关推荐
本示例主要讲解如何在Tomcat6中结合JNDI(Java Naming and Directory Interface)和C3P0库来配置数据库连接池,这对于初学者理解Web应用服务器与数据库的交互方式具有很大帮助。 首先,C3P0是一个开源的JDBC连接池...
例如,Tomcat、JBoss等应用服务器都支持JNDI配置C3P0、DBCP等连接池。 4. DBCP(Database Connection Pool): DBCP是Apache Commons的一个项目,基于Jakarta-pool实现的数据库连接池。它简单易用,但相比于C3P0和...
【描述】中的XML配置片段展示了在Spring框架中配置一个通过JNDI查找的数据源,这正是Tomcat统一配置C3P0连接池的一个关键步骤。`<bean id="dataSource2" class="org.springframework.jndi.JndiObjectFactoryBean">`...
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,尤其是在企业级应用中,数据库连接池是不可或缺的一部分,因为它可以有效地管理和复用数据库连接,从而...
c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0提供了许多高级特性,比如自动测试连接、空闲连接检测、连接池大小动态调整等。相比于DBCP,c3p0在连接管理上更为灵活...
本项目提供了对三种常用的Java数据库连接池——DBCP(BasicDataSource)、C3P0和Tomcat JDBC的性能及稳定性测试代码。下面将详细介绍这三个连接池的工作原理、特性以及如何进行性能测试。 1. **DBCP ...
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,尤其是在服务器端应用如Web应用或企业级JavaBean(EJB)中,使用C3P0可以提高数据库连接的复用性,从而...
- 相比于Tomcat JDBC Connection Pool,c3p0更适合小型项目,大型项目可能会倾向于选择更高效、更活跃维护的连接池。 7. **常见问题与解决方案** - 如果出现“Too many connections”错误,可能是因为`maxPool...
3. **JNDI的应用场景**:常见的应用场景包括数据库连接池管理(如Apache DBCP或C3P0)、EJB查找、邮件服务器配置等。 **二、JNDI在Tomcat中的使用** 1. **配置Tomcat的JNDI**:在Tomcat的`server.xml`配置文件中,...
例如,使用 c3p0 数据源的配置: ```xml <Resource name="jndiName" scope="Shareable" type="com.mchange.v2.c3p0.ComboPooledDataSource" factory="org.apache.naming.factory.BeanFactory" user="pual_...
- **JNDI配置**:在Tomcat的`context.xml`中定义数据源,将c3p0数据源与JNDI绑定,方便多应用共享。 - **Hibernate配置**:在Hibernate的配置文件`hibernate.cfg.xml`中添加c3p0的相关配置,指定数据源类型为c3p0...
C3p0是一款开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,C3p0可以帮助我们管理数据库连接,提高数据库访问效率,减少系统资源的消耗。下面我们将详细探讨C3p0的...
在Web应用中,c3p0常与Servlet容器(如Tomcat)结合使用,通过容器的JNDI服务管理数据源。这样,多个应用组件可以共享同一个数据源,提高资源利用率。 **五、c3p0版本及更新** 在给定的压缩包文件`c3p0-0.9.2-pre1...
c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0由Miquel Darmoni开发,其设计目标是提供更高效的连接管理,减少数据库连接的创建和关闭带来的性能损耗,同时提供了...
c3p0 与多种主流数据库和应用服务器(如 Hibernate、JBoss、Oracle、Tomcat)都有良好的兼容性。 #### 已知缺陷 文档中提到了存在的一些已知缺陷,这些缺陷可能会影响到 c3p0 的正常使用,因此在实际部署时需要特别...
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在JSP与MySQL的交互中,C3P0作为中间件,负责管理数据库连接,提高数据库资源的利用率,避免频繁的数据库连接创建和关闭,...
【标题】:“Tomcat配置JNDI数据源” 【描述】:“在Tomcat服务器上配置JNDI...在实际开发中,还可以使用更高级的连接池实现,如C3P0、Apache DBCP2或HikariCP,它们提供了更多的性能优化选项和更好的连接管理功能。
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,数据库连接池扮演着重要的角色,它能有效地管理和复用数据库连接,提高系统性能,减少数据库操作带来的...
在某些测试中,BoneCP被证明比C3P0快约25倍,这使得它成为在高并发场景下优化数据库性能的优秀选择。本文将详细介绍如何配置 BoneCP 连接池,以及对比C3P0的配置方法。 1. **BoneCP的基本概念与优势** - BoneCP 是...
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中使用C3P0可以提高数据库连接的效率和管理,避免频繁创建和关闭数据库连接导致的资源浪费。以下是关于C3P0...