Tomcat 和 Jetty 下 JNDI 配置 DBCP 连接池
Tomcat 的配置如下:(在某个App的context.xml中,或某个虚拟主机的ROOT.xml中)
<?xml version="1.0" encoding="UTF-8"?>
<Context path="">
<Resource name="jdbc/pgsqldbcp"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost/xxxxdb"
username="postgres"
password="xxxx"
maxActive="20"
/>
</Context>
这里使用Tomcat带的tomcat-dbcp.jar包,它包含了 commons-collections.jar,
commons-pool.jar, commons-dbcp.jar,如果不使用tomcat-dbcp.jar 则需要将上述3个包拷贝到
Tomcat的lib中。另外把数据库的驱动包拷贝到Tomcat的lib中,就可以了。
Jetty 下的配置如下:(在jetty-env.xml文件中)
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN"
"http://jetty.mortbay.org/configure.dtd">
<Configure class="org.mortbay.jetty.webapp.WebAppContext">
<New id="pgsqldbcp" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>jdbc/pgsqldbcp</Arg>
<Arg>
<New class="org.apache.commons.dbcp.BasicDataSource">
<Set name="driverClassName">org.postgresql.Driver</Set>
<Set name="url">jdbc:postgresql://localhost/xxxxdb</Set>
<Set name="username">postgres</Set>
<Set name="password">xxxx</Set>
<Set name="maxActive">10</Set>
</New>
</Arg>
</New>
</Configure>
如果使用maven-jetty-plugin插件开发应用,在pom.xml如下配置:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.7</version>
<configuration>
<webDefaultXml>src/test/resources/webdefault.xml</webDefaultXml>
<jettyEnvXml>src/test/resources/jetty-env.xml</jettyEnvXml>
<contextPath>/exjour</contextPath>
<scanIntervalSeconds>10</scanIntervalSeconds>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8000</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
</configuration>
</plugin>
以上,就完成了Tomcat和Jetty下DBCP在JNDI中的配置,在开发中spring中的dataSource可以按如下形式写:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/pgsqldbcp"/>
</bean>
分享到:
相关推荐
Commons Pool提供了对象池服务,是DBCP连接池的基础;Commons Collections提供了各种集合操作的工具类,支持DBCP中的数据结构。 4. **配置DBCP**:配置DBCP通常涉及设置初始和最大连接数、超时时间、连接验证方式等...
常见的数据库连接池有Apache的DBCP、C3P0,以及HikariCP等。 2. **JNDI(Java Naming and Directory Interface)**:在企业级应用中,数据源通常通过JNDI服务进行查找和注册。JNDI提供了一个统一的接口,允许应用...
4. **数据库连接配置**:设置数据源,如Druid或Apache Commons DBCP,以及数据库连接池的配置参数。 5. **Web.xml配置**:在Web应用的部署描述符中配置DispatcherServlet,加载Spring的上下文配置文件。 6. **...
8. **JNDI(Java Naming and Directory Interface)**:在大型项目中,JNDI用于查找和管理资源,如数据库连接池、邮件服务器等。这有助于解耦应用配置和实际代码。 9. **AJAX(Asynchronous JavaScript and XML)**...
3. **C3p0**:C3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,提供了比DBCP更好的性能和更完善的特性。在这个系统中,C3p0负责管理和复用数据库连接,提高了数据库操作的效率,避免了频繁创建和关闭连接...
7. **Web容器和应用服务器**:了解Tomcat、Jetty等Web容器,以及WebLogic、WebSphere等全功能应用服务器的使用和配置。理解它们在部署和运行J2EE应用时的角色。 8. **Java安全**:学习J2EE的安全机制,如认证、授权...
12. **容器和服务器**:如Tomcat、Jetty、WebLogic、WebSphere等,理解它们的工作原理和配置方式对面试至关重要。 13. **性能调优**:包括内存管理、线程池设置、数据库查询优化、HTTP响应时间等,这些都是面试中...
而`BasicDataSource`是Apache Commons DBCP的一部分,它提供了更高级的功能,如连接池,这对于大型应用来说是必不可少的。 使用`QueryRunner`执行SQL语句时,你可以传递一个StatementCallback或者...
连接池技术如C3P0、Apache DBCP用于优化数据库连接的管理和复用。 6. **JNDI(Java Naming and Directory Interface)**:在大型Java Web应用中,JNDI用于查找和绑定资源,如数据源、EJB等,提供了服务定位的能力。...
在实际项目中,通常会使用连接池来管理数据库连接,如C3P0或Apache DBCP。 6. **JNDI(Java Naming and Directory Interface)**:在Java Web应用中,JNDI用于查找和绑定资源,如数据源、邮件会话等,这在企业级...
理解连接池的概念和使用,如C3P0或DBCP,可以提高数据库操作的效率和性能。 5. **数据库设计**: 文件"02数据库.rar"可能包含了项目所使用的数据库模型,包括表结构、数据类型和关系设计。学习如何根据业务需求...
在实际开发中,通常会使用连接池来管理数据库连接,例如C3P0、Apache DBCP或HikariCP,这样可以提高性能并减少资源浪费。 JSP(JavaServer Pages)是Java Web应用中用于动态生成HTML、XML或其他格式文档的技术。...