`

Tomcat 和 Jetty 下 JNDI 配置 DBCP 连接池

    博客分类:
  • Web
 
阅读更多

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>
 

 

分享到:
评论
1 楼 zjfshowtime 2013-05-27  
it doesn't work !why

相关推荐

    DBCP依赖Jar包

    Commons Pool提供了对象池服务,是DBCP连接池的基础;Commons Collections提供了各种集合操作的工具类,支持DBCP中的数据结构。 4. **配置DBCP**:配置DBCP通常涉及设置初始和最大连接数、超时时间、连接验证方式等...

    web学习笔记 —— 数据源

    常见的数据库连接池有Apache的DBCP、C3P0,以及HikariCP等。 2. **JNDI(Java Naming and Directory Interface)**:在企业级应用中,数据源通常通过JNDI服务进行查找和注册。JNDI提供了一个统一的接口,允许应用...

    如何配置SSM框架.pdf

    4. **数据库连接配置**:设置数据源,如Druid或Apache Commons DBCP,以及数据库连接池的配置参数。 5. **Web.xml配置**:在Web应用的部署描述符中配置DispatcherServlet,加载Spring的上下文配置文件。 6. **...

    javaweb进销系统

    8. **JNDI(Java Naming and Directory Interface)**:在大型项目中,JNDI用于查找和管理资源,如数据库连接池、邮件服务器等。这有助于解耦应用配置和实际代码。 9. **AJAX(Asynchronous JavaScript and XML)**...

    基于Servlet+Jsp+C3p0+Layui书籍管理系统.zip

    3. **C3p0**:C3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,提供了比DBCP更好的性能和更完善的特性。在这个系统中,C3p0负责管理和复用数据库连接,提高了数据库操作的效率,避免了频繁创建和关闭连接...

    北大青鸟J2EE_JSP完美课件

    7. **Web容器和应用服务器**:了解Tomcat、Jetty等Web容器,以及WebLogic、WebSphere等全功能应用服务器的使用和配置。理解它们在部署和运行J2EE应用时的角色。 8. **Java安全**:学习J2EE的安全机制,如认证、授权...

    2013年最新J2EE面试资料

    12. **容器和服务器**:如Tomcat、Jetty、WebLogic、WebSphere等,理解它们的工作原理和配置方式对面试至关重要。 13. **性能调优**:包括内存管理、线程池设置、数据库查询优化、HTTP响应时间等,这些都是面试中...

    04-Apache-DBUtils驱动.rar

    而`BasicDataSource`是Apache Commons DBCP的一部分,它提供了更高级的功能,如连接池,这对于大型应用来说是必不可少的。 使用`QueryRunner`执行SQL语句时,你可以传递一个StatementCallback或者...

    java+web+简单小程序.zip

    连接池技术如C3P0、Apache DBCP用于优化数据库连接的管理和复用。 6. **JNDI(Java Naming and Directory Interface)**:在大型Java Web应用中,JNDI用于查找和绑定资源,如数据源、EJB等,提供了服务定位的能力。...

    java web期末考核

    在实际项目中,通常会使用连接池来管理数据库连接,如C3P0或Apache DBCP。 6. **JNDI(Java Naming and Directory Interface)**:在Java Web应用中,JNDI用于查找和绑定资源,如数据源、邮件会话等,这在企业级...

    Java项目实战-基于Javaee的影视创作论坛的设计与实现(附源码,部署说明).zip

    理解连接池的概念和使用,如C3P0或DBCP,可以提高数据库操作的效率和性能。 5. **数据库设计**: 文件"02数据库.rar"可能包含了项目所使用的数据库模型,包括表结构、数据类型和关系设计。学习如何根据业务需求...

    enlistment-enterprise:使用jdbc,jsp,jstl等进行Java企业开发

    在实际开发中,通常会使用连接池来管理数据库连接,例如C3P0、Apache DBCP或HikariCP,这样可以提高性能并减少资源浪费。 JSP(JavaServer Pages)是Java Web应用中用于动态生成HTML、XML或其他格式文档的技术。...

Global site tag (gtag.js) - Google Analytics