tomcat7配置数据库连接池

合集下载

Tomcat下JNDI数据库连接池的配置和测试

Tomcat下JNDI数据库连接池的配置和测试
}
%>
</center>
</head>
</html>
执行:
http://localhost/JndiTest.jsp
返回结果报错如下:
MySQL 数据源测试开始...
出现意外,信息是:Cannot create JDBC driver of class '' for connect URL 'null'
try{
InitialContext ctx=new InitialContext();
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");
Connection conn = ds.getConnection();
<res-auth
>Container</res-auth>
</resource-ref>
7)修改META-INF下的context.xml中增加<ResourceLink>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page session="false" %>

数据库连接池的参数设置

数据库连接池的参数设置

数据库连接池的参数设置在进行数据库操作时,为了提高效率和性能,往往会使用数据库连接池。

数据库连接池是一种管理数据库连接的技术,它可以在应用程序启动时创建一定数量的数据库连接,并将这些连接保存在一个池中,供应用程序使用。

对于频繁进行数据库操作的应用程序来说,使用数据库连接池可以减少连接的创建和关闭的开销,提高数据库操作的效率。

数据库连接池的参数设置非常重要,不同的参数设置会对数据库连接池的性能和效果产生直接影响。

下面我将介绍一些常见的数据库连接池参数设置。

1. 初始连接数(InitialSize):指定连接池中初始化的连接数。

在应用程序启动时,连接池会创建这些连接并放入池中。

初始连接数的设置应根据应用程序的并发量和数据库的负载情况来确定,一般来说,初始连接数应该足够满足应用程序的并发需求,但也不能设置得过多,以免占用过多的系统资源。

2. 最小空闲连接数(MinIdle):指定连接池中保持的最小空闲连接数。

当应用程序不再使用连接时,连接池会将一部分连接保留在池中,以便下次使用。

最小空闲连接数的设置应根据应用程序的并发量和数据库的负载情况来确定。

如果设置得过小,可能导致连接池无法满足应用程序的并发需求;如果设置得过大,可能会浪费系统资源。

3. 最大空闲连接数(MaxIdle):指定连接池中保持的最大空闲连接数。

当连接池中的连接数量超过最大空闲连接数时,多余的连接会被关闭并从池中移除。

最大空闲连接数的设置应根据应用程序的并发量和数据库的负载情况来确定。

如果设置得过小,可能导致连接池无法满足应用程序的并发需求;如果设置得过大,可能会浪费系统资源。

4. 最大活动连接数(MaxActive):指定连接池中允许的最大活动连接数。

当连接池中的连接数量达到最大活动连接数时,新的连接请求会被阻塞,直到有连接被释放。

最大活动连接数的设置应根据应用程序的并发量和数据库的负载情况来确定。

如果设置得过小,可能导致连接池无法满足应用程序的并发需求;如果设置得过大,可能会导致数据库负载过高。

tomcat连接池默认参数

tomcat连接池默认参数

Tomcat连接池默认参数详解一、引言Tomcat连接池是Apache Tomcat服务器中用于管理数据库连接的重要组件。

通过使用连接池,可以有效地管理和复用数据库连接,提高应用程序的性能和可扩展性。

本文将详细介绍Tomcat连接池的默认参数及其作用,帮助开发者更好地理解和配置连接池。

二、连接池概述连接池是一种用于管理数据库连接的技术,它可以在应用程序启动时创建一定数量的数据库连接,并在需要时将这些连接分配给应用程序使用。

当应用程序不再需要连接时,连接被释放并返回到连接池中,以供其他应用程序使用。

这样可以避免频繁地创建和关闭数据库连接,从而提高应用程序的性能。

三、Tomcat连接池默认参数以下是Tomcat连接池的一些主要默认参数及其作用:3.1 initialSize(初始连接数)`initialSize`参数用于设置连接池启动时创建的初始连接数。

默认值为0,表示连接池启动时不创建任何连接。

如果设置为一个大于0的值,连接池将在启动时创建指定数量的连接。

3.2 maxActive(最大活跃连接数)`maxActive`参数用于设置连接池中允许的最大活跃连接数。

默认值为8。

活跃连接是指已被分配给应用程序但尚未释放的连接。

如果达到最大活跃连接数,新的连接请求将被阻塞,直到有连接被释放。

3.3 maxIdle(最大空闲连接数)`maxIdle`参数用于设置连接池中允许的最大空闲连接数。

默认值为8。

空闲连接是指在连接池中未被分配给应用程序的连接。

如果空闲连接数超过该值,连接池将关闭多余的连接。

3.4 minIdle(最小空闲连接数)`minIdle`参数用于设置连接池中保持的最小空闲连接数。

默认值为0。

如果空闲连接数低于该值,连接池将尝试创建新的连接以满足最小空闲连接数的要求。

3.5 maxWait(最大等待时间)`maxWait`参数用于设置连接请求的最大等待时间(以毫秒为单位)。

默认值为-1,表示无限制。

tomcat数据库连接池连接数耗尽的解决方法

tomcat数据库连接池连接数耗尽的解决方法

tomcat数据库连接池连接数耗尽的解决方法When facing the issue of Tomcat database connection pool exhaustion, it is crucial to understand the root cause of the problem before finding a suitable solution. By examining the architecture of the application, the way connections are managed, and the configuration of the database pool, you can identify the factors contributing to the depletion of connections.当面临Tomcat数据库连接池耗尽的问题时,找到适当的解决方案之前,了解问题的根本原因至关重要。

通过检查应用程序的架构,连接管理的方式以及数据库池的配置,您可以确定导致连接耗尽的因素。

One common reason for connection exhaustion is improper handling of connections within the application code. If connections are not being released properly after their use, they can remain open and unavailable for other tasks. This can lead to a gradual buildup of connections within the pool, eventually causing it to reach its maximum capacity.连接耗尽的一个常见原因是在应用程序代码中对连接的处理不当。

tomcat 线程池连接池指标

tomcat 线程池连接池指标

tomcat 线程池连接池指标Tomcat线程池连接池指标一、引言随着互联网的快速发展,Web应用程序的并发访问量越来越大,为了提高应用程序的性能和响应速度,使用线程池成为了一种常见的解决方案。

而在Tomcat中,线程池连接池则是实现这一目标的重要组成部分。

本文将围绕Tomcat线程池连接池的指标展开论述,以便读者能够更好地了解和应用这一技术。

二、线程池连接池的概念线程池连接池是Tomcat中的一种机制,用于管理和复用线程和数据库连接资源,以提高应用程序的并发处理能力和性能。

通过线程池连接池,可以有效地减少线程的创建和销毁开销,降低数据库连接和释放的成本,从而提高系统的吞吐量和响应速度。

三、Tomcat线程池连接池的指标1. 最大线程数(maxThreads)最大线程数表示线程池中最多可以同时运行的线程数量。

根据应用程序的并发访问量和服务器的硬件配置,合理设置最大线程数可以充分利用服务器资源,避免因线程不足而导致的请求被阻塞或拒绝。

2. 空闲线程数(minSpareThreads)空闲线程数表示线程池中保留的空闲线程数量。

通过设置适当的空闲线程数,可以避免线程池中的线程过多而导致资源浪费,同时又能保证在高并发情况下能够快速响应请求。

3. 连接池大小(maxConnections)连接池大小表示连接池中可用的数据库连接数量。

根据应用程序对数据库的访问需求和数据库服务器的性能,合理设置连接池大小可以避免因连接不足而导致的请求被阻塞或拒绝。

4. 最大等待时间(maxWait)最大等待时间表示当连接池已满时,请求线程最多等待的时间。

如果超过最大等待时间仍未获取到可用的数据库连接,系统将抛出异常或拒绝请求。

合理设置最大等待时间可以避免请求线程长时间被阻塞,提高系统的稳定性和可用性。

5. 连接超时时间(connectionTimeout)连接超时时间表示获取数据库连接的最长等待时间。

如果超过连接超时时间仍未获取到连接,系统将抛出异常或拒绝请求。

tomcat性能测试方案

tomcat性能测试方案

Tomcat性能测试方案1. 简介本文档旨在提供一个针对Tomcat服务器进行性能测试的方案。

性能测试对于一个Web服务器的运行非常重要,可以帮助评估服务器在大负载情况下的性能表现。

通过性能测试,可以发现系统的瓶颈,并采取相应措施进行优化,以提高系统的响应能力和稳定性。

2. 测试环境搭建2.1 安装和配置Tomcat首先,需要在测试机器上安装Tomcat服务器。

可以从Apache Tomcat官方网站下载最新的Tomcat版本并按照官方文档进行安装和配置。

2.2 准备测试数据在进行性能测试之前,需要准备一些测试数据,以模拟实际的负载情况。

可以使用一些自动生成数据的工具,如Apache JMeter或Gatling,来生成HTTP请求。

2.3 配置服务器参数为了模拟真实场景下的负载,需要对Tomcat服务器的一些参数进行适当配置。

以下是一些常见的配置项:•最大线程数:调整Tomcat服务器的最大线程数,以适应不同负载情况。

•连接超时时间:设置客户端连接服务端的超时时间。

•缓冲区大小:调整网络缓冲区的大小,以优化数据传输性能。

•数据库连接池:配置数据库连接池的参数,如连接数、最大等待时间等。

3. 性能测试方法3.1 负载压力测试负载压力测试是最常见的性能测试方法之一,它通过逐渐增加虚拟用户数来模拟真实场景下的负载情况。

可以使用Apache JMeter等工具创建一个负载测试计划,并设置不同的请求量和并发用户数,然后监测服务器的响应时间和吞吐量。

3.2 稳定性测试稳定性测试旨在评估服务器在长时间运行和持续高负载条件下的稳定性。

可以通过设置不断增加的并发用户数,并保持一定时间的负载压力来进行稳定性测试。

在测试过程中,需要监测服务器的CPU、内存和磁盘IO等性能指标,并检查服务器是否出现内存泄漏等问题。

3.3 各项指标的统计和分析在性能测试过程中,需要对各项指标进行定期的统计和分析。

可以使用工具保存性能测试结果,并生成相应的图表和报告,以便于更直观地了解服务器的性能表现。

常用数据源连接池配置

常用数据源连接池配置
<property name="c3p0.max_statement">50</property>
-->
配置proxoop有些不同,不能仅仅加入,还需要改动: <property name="proxool.pool_alias">dbpool</property>
<property name="proxool.xml">test/huatech/conf/ProxoolConf.xml</property>
<property name="connection.password">informix</property>
<property name="connection.driver_class">rmix.jdbc.IfxDriver</property>
<property name="connection.url">
<!--登录密码-->
<property name="connection.password"></property>
<!--是否将运行期生成的SQL输出到日志以供调试-->
<property name="show_sql">true</property>
<!--指定连接的语言-->
... javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial

Tomcat连接池的设置及简单应用示例

Tomcat连接池的设置及简单应用示例

JNDI Name: jdbc/myOrcl
Data Source URL: jdbc:oracle:thin:@192.168.6.40:1521:dbserver
JDBC Driver Class: oracle.jdbc.driver.OracleDriver
User Name: myname
&lt;/Context&gt;
好了,至此位置,对Oracle的应用连接池已经配置完毕。
仔细对照server.xml 文件,会发现刚才所配置的连接池信息被放置在&lt;GlobalNamingResources&gt;标签中,这意味着这个信息是可以被全局引用的,大致是如下的样子:
&lt;GlobalNamingResources&gt;
&lt;value&gt;myname&lt;/value&gt;
&lt;/parameter&gt;
&lt;/ResourceParams&gt;
&lt;ResourceParams name=&quot;UserDatabase&quot;&gt;
&lt;parameter&gt;
&lt;name&gt;factory&lt;/name&gt;
注意,如果使用Oracle8i 的驱动,则需要在D:\Tomcat 4.1\common\lib 目录下将classes12.zip更名为classes12.jar,因为Tomcat4不认识zip的后缀名。
3.设置Web应用。

SpringBoot数据库连接池参数

SpringBoot数据库连接池参数

SpringBoot数据库连接池参数Tomcat JDBC 连接池Spring Boot 默认选择 Tomcat JDBC Pool 作为数据库连接池。

Tomcat(8)连接池常⽤的属性:属性描述默认值defaultAutoCommit连接池中创建的连接默认是否⾃动提交事务驱动的缺省值defaultReadOnly连接池中创建的连接默认是否为只读状态-defaultCatalog连接池中创建的连接默认的 catalog-driverClassName驱动类的名称-username数据库账户-password数据库密码-maxActive连接池同⼀时间可分配的最⼤活跃连接数100maxIdle始终保留在池中的最⼤连接数,如果启⽤,将定期检查限制连接,超出此属性设定的值且空闲时间超过minEvictableIdleTimeMillis的连接则释放与maxActive设定的值相同minIdle始终保留在池中的最⼩连接数,池中的连接数量若低于此值则创建新的连接,如果连接验证失败将缩⼩⾄此值与initialSize设定的值相同initialSize连接池启动时创建的初始连接数量10maxWait最⼤等待时间(毫秒),如果在没有连接可⽤的情况下等待超过此时间,则抛出异常30000(30秒)testOnBorrow当从连接池中取出⼀个连接时是否进⾏验证,若验证失败则从池中删除该连接并尝试取出另⼀个连接false testOnConnect当⼀个连接⾸次被创建时是否进⾏验证,若验证失败则抛出 SQLException 异常false testOnReturn当⼀个连接使⽤完归还到连接池时是否进⾏验证false testWhileIdle对池中空闲的连接是否进⾏验证,验证失败则回收此连接false validationQuery在连接池返回连接给调⽤者前⽤来对连接进⾏验证的查询 SQL null validationQueryTimeout SQL 查询验证超时时间(秒),⼩于或等于 0 的数值表⽰禁⽤-1timeBetweenEvictionRunsMillis在空闲连接回收器线程运⾏期间休眠时间(毫秒),该值不应该⼩于 1 秒,它决定线程多久验证空闲连接或丢弃连接的频率5000(5秒)minEvictableIdleTimeMillis连接在池中保持空闲⽽不被回收的最⼩时间(毫秒)60000(60秒)removeAbandoned标记是否删除泄露的连接,如果连接超出removeAbandonedTimeout的限制,且该属性设置为 true,则连接被认为是被泄露并且可以被删除falseremoveAbandonedTimeout泄露的连接可以被删除的超时时间(秒),该值应设置为应⽤程序查询可能执⾏的最长时间60# src/main/resources/application.properties1 2 3 4 5 6 7 8 9 10 11spring.datasource.url=jdbc:mysql://127.0.0.1/spring_boot_testing_storage ername=rootspring.datasource.password=rootspring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.tomcat.default-auto-commit=truespring.datasource.tomcat.initial-size=3spring.datasource.tomcat.max-active=120spring.datasource.tomcat.max-wait=10000spring.datasource.tomcat.test-on-borrow=truespring.datasource.tomcat.test-while-idle=truespring.datasource.tomcat.validation-query=SELECT 111 12 13 14 15 16spring.datasource.tomcat.validation-query=SELECT 1spring.datasource.tomcat.validation-query-timeout=3spring.datasource.tomcat.time-between-eviction-runs-millis=10000 spring.datasource.tomcat.min-evictable-idle-time-millis=120000 spring.datasource.tomcat.remove-abandoned=truespring.datasource.tomcat.remove-abandoned-timeout=120Spring Boot Data Jpa 依赖声明:# pom.xml1 2 3 4<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>HikariCP 连接池Spring Boot 如果发现 Tomcat 连接池不可⽤,则尝试选择 HikariCP 作为默认连接池。

Tomcat数据库连接池配置

Tomcat数据库连接池配置

1.将数据库驱动程序的JAR文件放在Tomcat的common/lib中;2.在server.xml中设置数据源,以MySQL数据库为例,如下:在<GlobalNamingResources></GlobalNamingResources>节点中加入,<Resourcename="jdbc/DBPool"type="javax.sql.DataSource"password="root"driverClassName="com.mysql.jdbc.Driver"maxIdle="2"maxWait="5000"username="root"url="jdbc:mysql://127.0.0.1:3306/test"maxActive="4"/>属性说明:name,数据源名称,通常取”jdbc/XXX”的格式;type,”javax.sql.DataSource”;password,数据库用户密码;driveClassName,数据库驱动;maxIdle,最大空闲数,数据库连接的最大空闲时间。

超过空闲时间,数据库连接将被标记为不可用,然后被释放。

设为0表示无限制。

MaxActive,连接池的最大数据库连接数。

设为0表示无限制。

maxWait,最大建立连接等待时间。

如果超过此时间将接到异常。

设为-1表示无限制。

3.在你的web应用程序的web.xml中设置数据源参考,如下:在<web-app></web-app>节点中加入,<resource-ref><description>MySQL DB Connection Pool</description><res-ref-name>jdbc/DBPool</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth><res-sharing-scope>Shareable</res-sharing-scope></resource-ref>子节点说明:description,描述信息;res-ref-name,参考数据源名字,同上一步的属性name;res-type,资源类型,”javax.sql.DataSource”;res-auth,”Container”;res-sharing-scope,”Shareable”;4.在web应用程序的context.xml中设置数据源链接,如下:在<Context></Context>节点中加入,<ResourceLinkname="jdbc/DBPool"type="javax.sql.DataSource"global="jdbc/DBPool"/>属性说明:name,同第2步和第3步的属性name值,和子节点res-ref-name值;type,同样取”javax.sql.DataSource”;global,同name值。

数据库连接池的配置参数与调优建议

数据库连接池的配置参数与调优建议

数据库连接池的配置参数与调优建议随着互联网的迅速发展和数据量的不断增加,数据库成为许多企业重要的数据存储和查询工具。

而数据库连接池作为数据库连接管理的关键组件,其配置参数与调优能直接影响系统性能和稳定性。

本文将介绍数据库连接池的配置参数,并提供一些建议用于优化数据库连接池的性能。

1. 连接池配置参数数据库连接池的性能与可靠性受到许多配置参数的影响。

以下是几个重要的连接池配置参数:1.1 最大连接数(Max Connections):指连接池中最大允许的连接数。

根据系统资源和并发需求,设置适当的最大连接数可避免连接资源的浪费和阻塞。

通常建议根据数据库服务器的性能和应用的并发请求来调整最大连接数。

1.2 初始连接数(Initial Connections):指连接池在启动时创建的初始连接数。

初始连接数应根据系统的启动时间和同时需求来调整。

过多的初始连接数可能导致资源浪费,而过少则可能影响响应时间。

1.3 最小空闲连接数(Min Idle Connections):指连接池中保持的最小空闲连接数。

为了减少连接的创建和销毁开销,保持一定数量的空闲连接可以提升系统性能。

1.4 最大空闲连接数(Max Idle Connections):指连接池中允许存在的最大空闲连接数。

根据应用的空闲连接需求和服务器资源,调整适当的最大空闲连接数,从而平衡系统性能和资源占用。

1.5 连接超时时间(Connection Timeout):指在获取连接时等待的最大时间。

过长的连接超时时间可能导致系统响应性能下降,而过短可能导致频繁的连接创建和销毁开销增加。

1.6 最大等待时间(Max Wait Time):指在达到最大连接数时,获取连接的最大等待时间。

适当调整最大等待时间可以避免请求的长时间阻塞,并提高系统对并发请求的处理能力。

1.7 连接存活时间(Connection Timeout):指连接被归还到连接池前的最大存活时间。

数据库连接池的作用与配置

数据库连接池的作用与配置

数据库连接池的作用与配置数据库连接池是现代应用程序开发中常用的技术之一,它的作用是管理和维护数据库连接,提供高效的连接复用机制,从而提升数据库的性能和可靠性。

本文将介绍数据库连接池的作用,并探讨如何进行配置。

一、数据库连接池的作用1. 连接复用:数据库连接的建立和销毁是一项时间和资源消耗较大的操作。

通过使用连接池,可以避免频繁地创建和销毁数据库连接,而是重复利用已经建立的连接,提高了系统的响应速度和性能。

2. 连接管理:数据库连接池可以对连接进行有效地管理,包括连接的分配、释放、超时检测等。

连接池能够保证连接的可用性,避免由于连接过多或连接失效而导致的系统崩溃或不可用。

3. 连接限制:数据库连接池还可以对连接数进行限制,防止系统被过多的连接请求压垮。

通过设置最大连接数和最小空闲连接数等参数,可以对连接的数量进行合理的控制,提高系统的稳定性。

4. 连接性能优化:连接池可以对连接进行优化,通过预热、测试等机制,提前准备好一定数量的可用连接,从而减少连接的建立时间,提高查询和操作的响应速度。

二、数据库连接池的配置在进行数据库连接池配置时,通常需要关注以下几个方面的参数:1. 最大连接数(Max Connections):指连接池中同时存在的最大连接数量。

根据系统的负载和硬件资源等情况,可以适当调整该值。

过高的最大连接数可能导致资源浪费,而过低则可能造成连接不足和性能瓶颈。

2. 最小空闲连接数(Min Idle Connections):指连接池中保持的最小空闲连接数量。

通过保持一定数量的空闲连接,可以避免频繁地创建和销毁连接,提高系统的响应速度。

合理设置最小空闲连接数量可以根据系统的负载情况进行调整。

3. 连接超时时间(Connection Timeout):当连接池中的连接被占用而没有及时释放时,超过连接超时时间后,连接池可以强制释放连接。

通过设置适当的连接超时时间,可以防止连接资源被长时间占用,提高连接的可用性。

Tomcat+MySQL连接池连接数据源的方式

Tomcat+MySQL连接池连接数据源的方式

Tomcat+MySQL连接池连接数据源的方式:首先将mysql-connector-java-5.1.7-bin.jar驱动放在tomcat目录下的lib文件夹中,然后将tomcat下的conf文件夹中的context.xml打开,打开时在第一行添加<?xml version='1.0' encoding='gb2312'?>,或者去掉下方的中文注释,在<context></context>之间添加如下代码:<!--name:给数据源设置名字 auth:表示该数据源是谁管理 type:类型 url:数据库连接username:数据库用户名 password:数据库密码--><!--maxActive:在连接池中最大的激活连接数 maxIdle:在连接池中最大的空闲连接数 maxWait:客户端在列队池中最大等待时间,按秒计算--><Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"url="jdbc:mysql://localhost/bbs" username="root" password="123456" maxActive="100" maxIdle="30" maxWait="60" />测试文件:Conn.java(Servlet文件)import java.sql.*;import javax.sql.*;import javax.naming.*;public class ConnDB {private Connection conn = null;public Connection getConn() {try {Context ct=new InitialContext();DataSourceds=(DataSource)ct.lookup("java:comp/env/jdbc/mysql");conn = ds.getConnection();System.out.println("使用连接池的方式连接数据源");} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (NamingException e) {// TODO Auto-generated catch blocke.printStackTrace();}return conn;}}运行结果:。

windows7下配置tomcat7.0

windows7下配置tomcat7.0

一、JDK的安装:1.JDK可从以下位置获取:百度JA V A SDK(1.7版本)2.下载后直接安装,按默认就可3.配置环境变量,在我的电脑->属性->高级->环境变量4.新建系统变量,变量名:JA V A_HOME 变量值:C:\Program Files\Java\jdk1.7.0(JDK的安装目录)5.在原有的系统变量Path后面加上英文分号,再添加%JA V A_HOME%\bin;%JA V A_HOME%\lib\dt.jar;%JA V A_HOME%\jre\bin; 不要删除原来的。

看清楚,它们之间的分号,是英文的分号。

6.重启电脑生效(因为添加的是系统变量,如果你的系统是win7,则不需要重启)。

7.测试JDK是否安装成功,运行->cmd ->D: 进入D盘,输入javac 看能否出来很多命令,出来则说明JDK配置成功。

8.二、Tomcat7的配置:1.下载tomcat:TOMCA T官网可选择Full documentation2.添加环境变量:在我的电脑->属性->高级->环境变量3.新建系统变量,变量名:CA TALINA_HOME 变量值:C:\ProgramFiles\apache-tomcat-7.0.11 (Tomcat 解压到的目录)。

4.在系统变量Path的最后面添加%CA TALINA_HOME%\lib;%CA TALINA_HOME%\lib\servlet-api.jar;%CA TALINA_HOME%\lib\jsp-api.jar 注意它们之间的分号,一定是英文的分号。

5.Tomcat 7.0的管理员的配置,进入C:\Program Files\apache-tomcat-7.0.11(Tomcat目录)下的conf目录,编辑tomcat-users.xml,找到最后的:<!--<role rolename="tomcat"/><role rolename="role1"/><user username="tomcat" password="tomcat" roles="tomcat"/><user username="both" password="tomcat" roles="tomcat,role1"/><user username="role1" password="tomcat" roles="role1"/>-->即可配置管理员信息。

数据库连接池的配置与使用技巧

数据库连接池的配置与使用技巧

数据库连接池的配置与使用技巧数据库连接池是应用程序与数据库之间的桥梁,它提供了对数据库连接的管理和复用,可以有效地提高数据库访问的性能和并发处理能力。

配置和使用数据库连接池是每个开发人员都应该掌握的技能,下面将介绍一些数据库连接池的配置与使用技巧。

一、数据库连接池的配置1. 连接池大小的配置连接池的大小直接影响了并发访问数据库的能力,过小的连接池会导致资源竞争,过多的连接池会占用过多的系统资源。

通常情况下,连接池的大小应该根据实际需求进行配置,考虑到系统的并发访问量和数据库的性能,一般采用线程池大小的约1.5~2倍作为连接池的大小。

2. 连接超时时间的配置连接池在获取数据库连接时,如果没有可用的连接,可能会出现长时间等待的情况。

为了避免这种情况,可以配置连接超时时间,当连接池在等待连接的过程中超过设置的超时时间时,会抛出异常或返回空连接。

3. 最大空闲连接数的配置连接池中的连接存在两种状态,一种是空闲状态,即可以被其他用户获取的连接;另一种是活动状态,正在被一个用户使用的连接。

为了提高连接的复用率,可以配置最大空闲连接数,当连接池中的连接超过最大空闲连接数时,会关闭一部分空闲连接。

4. 最大活动连接数的配置与最大空闲连接数相对应的是最大活动连接数的配置,该配置指定了连接池中的最大活动连接数量。

当连接池中的活动连接达到最大活动连接数时,后续的连接请求将被阻塞,直到有连接被释放。

5. 连接的超时时间配置连接的超时时间是指一个连接在连接池中的最长允许使用时间,如果一个连接超过了指定的超时时间仍未释放,则连接池会自动将连接关闭。

6. 验证连接的配置为了确保从连接池中获取到的连接有效可用,可以配置验证连接的动作。

在连接池中配置连接验证的语句,当连接从连接池中获取时,会执行该验证语句,如果验证失败,则会关闭该连接并从连接池中移除。

二、数据库连接池的使用技巧1. 使用连接池管理数据库连接连接池的出现使得数据库连接的获取和释放更加方便,开发人员只需从连接池中获取连接,使用完毕后将连接还给连接池。

配置Tomcat连接池

配置Tomcat连接池

配置Tomcat连接池(配置server.xml文件)收藏配置Tomcat连接池:1、配置conf\server.xml,创建DataSource资源,并且为其指定参数;2、在web.xml中引用资源;3、在javabean、servlet中使用资源;server.xml文件内容<!--path="/TomcatDbPools"表示你想用什么样的字符访问站点,即站点的访问方式以/TomcatDbPools结尾例:http://localhost:8080/ TomcatDbPoolsdocBase="TomcatDbPools" 你的组件在什么地方放着没有/则从webapps目录找debug="0" reloadable="true"是固定的--><Context path="/TomcatDbPools" docBase="TomcatDbPools" debug="0" reloadable="true"><!--name 指定资源池的Resource的JNDI的名字给连接池起的名字jdbc/TomcatDbPool1auth:管理权限指定管理Resource的Manager,可以是Container或Applicationtype:指出Resource所属的类名,是什么类型的数据源本例是SQL的--><Resource name="jdbc/TomcatDbPool1" auth="Container" type="javax.sql.DataSource"/><ResourceParams name="jdbc/TomcatDbPool1">指名为哪个连接池配置参数,即为jdbc/TomcatDbPool<!-- 指定DataResource的factory的名字--><parameter><name>factory</name><value>mons.dbcp.BasicDataSourceFactory</value></parameter><!-- 指定连接池中处于活动连接的最大数量0表示不受限制--><parameter><name>maxActive</name><value>100</value></parameter><!--指定空闲连接的最大数量0表示不受限制--><parameter><name>maxIdle</name><value>30</value></parameter><!-- 连接池中处于空闲状态的最大等待的毫秒数,-1表示无限等待--><parameter><name>maxWait</name><value>10000</value></parameter><!-- 连接的用户名和密码--><parameter><name>username</name><value></value></parameter><parameter><name>password</name><value></value></parameter><!-- 驱动程序jdbc桥--><parameter><name>driverClassName</name><value>sun.jdbc.odbc.JdbcOdbcDriver</value></parameter><!-- 数据库的Url --><parameter><name>url</name><value>jdbc:odbc:bookDSN</value></parameter></ResourceParams><!--我们也可以指出多个资源,这样在web.xml中指出引用的是哪个就行了下面的是使用SqlServer2000的驱动来访问数据库前提是要将SqlServer的驱动拷贝到tomcat下的common\lib目录下--><Resource name="jdbc/TomcatDbPool2" auth="Container" type="javax.sql.DataSource"/><ResourceParams name="jdbc/TomcatDbPool2"><!-- 指定DataResource的factory的名字--><parameter><name>factory</name><value>mons.dbcp.BasicDataSourceFactory</value></parameter><!-- 指定连接池中处于活动连接的最大数量0表示不受限制--><parameter><name>maxActive</name><value>100</value></parameter><!--指定空闲连接的最大数量0表示不受限制--><parameter><name>maxIdle</name><value>30</value></parameter><!-- 连接池中处于空闲状态的最大等待的毫秒数,-1表示无限等待--><parameter><name>maxWait</name><value>10000</value></parameter><!-- 连接的用户名和密码--><parameter><name>username</name><value>sa</value></parameter><parameter><name>password</name><value></value></parameter><!-- 驱动程序本地协议连接--><parameter><name>driverClassName</name><value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value></parameter><!-- 数据库的Url --><parameter><name>url</name><value>jdbc:microsoft:sqlserver://localhost\\b:1433;DatabaseName=book</value></parameter></ResourceParams></Context>2、在web.xml中引用资源;<?xml version="1.0" encoding="GB2312"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""/dtd/web-app_2_3.dtd"><web-app><welcome-file-list><welcome-file>index.html</welcome-file></welcome-file-list><!-- 在此处之处引用的是谁<resource-ref><description>ConnectionPool</description><res-ref-name>jdbc/TomcatDbPool1</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref>--><!--我们在server.xml中配置了多个Resource,所以此处要指出来用的是哪个Pool.--> <resource-ref>--资源引用<description>ConnectionPool</description><res-ref-name>jdbc/TomcatDbPool2</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref></web-app>3、在javabean、servlet中使用资源;public void openConnection1(){try{ /*Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");String url="jdbc:odbc:bookDSN";conn=DriverManager.getConnection(url,"",""); *///获取连接的方式变化了(使用连接池)Context context=new InitialContext();if(context==null) {throw new Exception("No such Context");}//java:comp/env/是固定写法jdbc/TomcatDbPool1是serverl.xml中的资源的名字//用context.lookup方法从jdbc/TomcatDbPool1中得到一个数据源DataSourceds=(DataSource)context.lookup("java:comp/env/jdbc/TomcatDbPool1");conn=ds.getConnection();System.out.println("通过tomcat连接池创建连接成功!");}catch(Exception e) {System.out.println(e.getMessage()); }Web.xml配置:<?xml version="1.0" encoding="utf-8"?><!DOCTYPE web-appPUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "/j2ee/dtds/web-app_2_2.dtd"><web-app><display-name>XCFI Application</display-name><resource-ref><description>DB Connection</description><res-ref-name>jdbc/my_mssql</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref><session-config><session-timeout>30</session-timeout></session-config><!-- Listeners --><!-- sun add at 2007-01-14 --><listener><listener-class>xcfi.website.SessionCounter</listener-class></listener><welcome-file-list><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file></welcome-file-list><taglib><taglib-uri>oscache</taglib-uri><taglib-location>/WEB-INF/tld/oscache.tld</taglib-location></taglib><servlet><servlet-name>getimage</servlet-name><servlet-class>xcfi.utily.getimage</servlet-class></servlet><servlet><servlet-name>show_product_image</servlet-name><servlet-class>show_product_image</servlet-class></servlet><servlet><servlet-name>show_mews_images</servlet-name><servlet-class>xcfi.utily.show_mews_images</servlet-class> </servlet><servlet-mapping><servlet-name>getimage</servlet-name><url-pattern>/servlet/getimage</url-pattern></servlet-mapping><servlet-mapping><servlet-name>getimage</servlet-name><url-pattern>/servlet/getimage.jsp</url-pattern></servlet-mapping><servlet-mapping><servlet-name>show_product_image</servlet-name><url-pattern>/servlet/show_product_image</url-pattern></servlet-mapping><servlet-mapping><servlet-name>show_product_image</servlet-name><url-pattern>show_product_image.jsp</url-pattern></servlet-mapping><servlet-mapping><servlet-name>show_mews_images</servlet-name><url-pattern>/servlet/show_mews_images</url-pattern></servlet-mapping><!--<error-page><error-code>404</error-code><location>/index.jsp</location></error-page><error-page><error-code>500</error-code><location>/index.jsp</location></error-page>--></web-app>关于Tomcat与MySQL连接池问题的详解(2008-10-23 14:54:00)标签:tomcat java it分类:J2EE研究了一天,终于有所收获,希望对大家有所帮助。

数据库连接池的DataSource ds

数据库连接池的DataSource ds

数据库连接池的DataSource ds=(DataSource)ctx.lookup(ds)出错浏览次数:325次悬赏分:0|提问时间:2010-11-7 14:26 |提问者:goshinever DataSource ds=(DataSource)ctx.lookup(ds);一直出现The method lookup(Name) in the type Context is not applicable for the arguments (DataSource)错误。

下面是我的java代码和数据源的配置package store;import java.sql.*;import javax.naming.*;import javax.sql.DataSource;public class DBConn {private String ds="jdbc/store";private Connection conn;public DBConn(){try{Context initCtx=new InitialContext();Context ctx=(Context)initCtx.lookup("java:comp/env");DataSource ds=(DataSource)ctx.lookup(ds);conn=ds.getConnection();}catch(Exception e){System.out.print(e.toString());}}public synchronized Statement getStmt() throws Exception{ Statement stmt;stmt=conn.createStatement();return stmt;}public synchronized PreparedStatement getPstmt(String sql) throws Exception{PreparedStatement pstmt;pstmt=conn.prepareStatement(sql);return pstmt;}public synchronized ResultSet query(String sql) throws Exception{ try{Statement stmt;stmt=conn.createStatement();ResultSet rs=stmt.executeQuery(sql);return rs;}catch(Exception e){System.out.print(e.toString());return null;}}public synchronized int update(String sql) throws Exception{int nn;try{Statement stmt;stmt=conn.createStatement();nn=stmt.executeUpdate(sql);}catch(Exception e){System.out.print(e.toString());nn=0;}return nn;}public void DBclose() throws SQLException{if(rs!=null)rs.close();if(pstmt!=null)pstmt.close();if(stmt!=null)stmt.close();}}tomcat中serve.xml中配置<Context docBase="store" path="/store" reloadable="true" debug="0"> <Resoucename="jdbc/store"type="javax.sql.DataSource"password="gu19901230"driverClassName="com.mysql.jdbc.Driver"maxIdle="1000"maxWait="5000"url="jdbc:mysql://localhost:3306/store?characterEncoding=GBK"maxActive="30"/></Context>项目web.xml中配置<resource-ref><description>DB Connection</description><res-ref-name>jdbc/store</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref>就是不知道这是倒是是咋回事,求高手解答推荐答案public class DBI {private static DBI dbi = new DBI();private static DataSource ds = null;public static DBI getInstance() {return dbi;}private Connection getConnection() throws SQLException {String datasource = "java:comp/env/mysqlds";Connection conn = null;Enumeration e = null;try {if (ds == null) {InitialContext ctx = new InitialContext();ds = (DataSource) ctx.lookup(datasource);}} catch (NamingException ne) {throw new SQLException("Lookup Datasource fail." + ne.getMessage()); }conn = ds.getConnection();return conn;}}和你自己的对比下,改改吧Myeclipse 8.5+tomcat 数据源配置DataSourcedataSource=(DataSource)context.lookup这句lookup()参数怎么配置?急求解5[ 标签:tomcat,数据源配置,lookup ]<%InitialContext context=new InitialContext();//DataSource dataSource=(DataSource)context.lookup("java:comp/env/Tital");DataSource dataSource=(DataSource)context.lookup("java:comp/env/jdbc/sample");Connection conn=null;Statement stmt=null;ResultSet rset=null;try{conn=dataSource.getConnection();stmt=conn.createStatement();rset=stmt.executeQuery("select * from test");if(rset.next()){%><table><tr><th>顾客ID</th><th>名字</th><td>性别</td></tr><%do{%><tr><td><%=rset.getString("id")%></td><td><%=rset.getString("name")%></td><td><%=rset.getString("sex")%></td></tr><%}while(rset.next());%></table><%}else{out.println("没有记录集!");}}catch(SQLException e){out.println(e.toString());e.printStackTrace();}finally{if(rset!=null){rset.close();}if(stmt!=null){stmt.close();}if(stmt!=null){conn.close();}if(context!=null){context.close();}}%>Tital回答:1 人气:1 解决时间:2010-12-10 14:51满意答案好评率:100%DataSourcedataSource=(DataSource)context.lookup("java:comp/env/jdbc/sample"); 说明:java:comp/env 是固定参数jdbc/sample对应两个地方:一个是:server.xml中的Resource name另一个:web.xml中的resource-ref res-ref-name以下是详细配置:server.xml<Context path="/text" docBase="text"reloadable="true" debug="0"><Resource name="jdbc/sample" auth="Container"type="javax.sql.DataSource"maxACTive="10"maxIdle="4"maxWait="10000"driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=stu dent"username="sa" password="sa" /></Context>以下是详细配置:web.xml<resource-ref><description>JNDI JDBC DataSource</description><res-ref-name>jdbc/sample_db</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref>所以你的程序可以换成:InitialContext context=new InitialContext();Context evnContext = (Context)initContext.lookup("java:/comp/env"); DataSource dataSource =(DataSource)evnContext.lookup("jdbc/sample_db");Connection con = dataSource.getConnection();J2EE基础:JNDI定义Oracle数据源的方法 2007年07月10日来源:转载作者:佚名收藏本文J2EE基础:JNDI定义Oracle数据源的方法定义JNDI数据源的方法如下:内容提要:1、介绍2、数据连接池的配置3、不使用连接池的解决方案4、Oracle数据源配置举例一、总体介绍Introdution配置JNDI数据源是配置JNDI资源的一个特例,过程和方法都差不多..请注意:在Tomcat 5.0.x 和Tomcat 5.5.x版本之间,JNDI资源的配置已经发生了变化,所以,如果你使用的是以上版本需要修改一下配置语法..本文假定你已经理解了Context和Host的配置,如果没有,请自行学习..二、数据连接池的配置Database Connection Pool(DBCP) ConfigurationsDBCP提供了对JDBC2.0的支持,如果你使用的1.4版本JVM,DBCP将支持JDBC3.0..2.1 安装InstallationDBCP使用Jakarta-Commons Database Connection Pool,它依赖以下三个包:Jakarta-Commons DBCPJakarta-Commons CollectionsJakarta-Commons Pool在Tomcat的安装目录提供了一个集成的jar包$CATALINA_HOME/lib/tomcat-dbcp.jar..三、避免数据连接池泄露Preventing DB connection pool leaks顾名思义,数据连接池负责创建和管理数据库连接.重用一个已经存在的数据连接要比每次都打开新建(new)一个连接效率高的多..但连接池通常个问题:一个Web应用程序需要关闭ResultSet's,Statement's,Connections's等资源.如果应用程序关闭资源失败,就是导致这些资源无法在被重用,即数据连接池泄露.最终如果没有足够的有效的连接,将导致应用程序连接失败.对于这个问题有个解决方法;Jakarta-Commons的DBCP可以通过配置来跟踪、恢复那些关闭失败的连接.不但可以恢复,而且还可以生成堆栈轨迹..为了关闭和重用那个被遗弃的资源,可以在DBCP数据源的资源配置中加入一下属性: removeAbandoned="true"当有效的数据连接低于DBCP设置的时候,就会重用被遗弃的资源..默认是false;removeAbandonedTimeout="60"设置被抛弃的数据连接在多少秒之后可以被删除...默认是300秒.logAbandoned="true"如果想要记录下被抛弃数据连接的堆栈轨迹可以设为true..默认false;四、Oracle配置举例Tomcat只能识别*.jar文件,如果数据库驱动为*.zip,则需要修改扩展名为jar..对于Oracle9i应该使用oracle.jdbc.OracleDriver,因为oracle.jdbc.driver.OracleDriver 已经不建议使用..将来也不一定支持了..4.1 配置server.xml4.2 配置web.xml4.3 代码示例一首先要配置Tomcat的server.xml文件,在对应的web应用的<Context>中加入<Resource>元素,比如:<Context path="/Manager" reloadable="true"><Resourcename="hello"type="javax.sql.DataSource"driverClassName="com.mysql.jdbc.Driver"username="root"password="123456"maxIdle="4"maxActive="4"maxWait="5000"url="jdbc:mysql://127.0.0.1/jspdev"/></Context>其中:name:指定Resource的JNDI名字type:指定Resource所属的Java类名driverClassName:指定连接数据库的JDBC驱动程序username:指定连接数据库的用户名password:指定连接数据库的口令maxIdle:指定数据库连接池中的最大空闲连接数目,0表示不受限制maxActive:指定数据库连接池中的最大活动连接数目,0表示不受限制maxWait:指定连接池中连接处于空闲状态的最长时间,超过会抛出异常,-1表示无限url:指定连接数据库的URL二在Web应用中使用数据源:javax.naming.Context提供了查找JNDI Resource的接口,可以通过三个步骤来使用数据源对象:A.获得对数据源的引用:Context ctx = new InitalContext();DataSource ds =(DataSource)ctx.lookup("java:comp/env/hello");B.获得数据库连接对象:Connection con = ds.getConnection();C.返回数据库连接到连接池:con.close();在连接池中使用close()方法和在非连接池中使用close()方法的区别是:前者仅仅是把数据库连接对象返回到数据库连接池中,是连接对象又恢复到空闲状态,而非关闭数据库连接,而后者将直接关闭和数据库的连接。

数据库连接池配置参数

数据库连接池配置参数

数据库连接池配置参数数据库连接池是现代应用程序中常用的技术之一,它可以提高数据库的性能和可靠性。

在配置数据库连接池时,我们需要合理地设置一些参数,以便达到最佳的性能和资源利用效果。

本文将介绍一些常见的数据库连接池配置参数,并解释它们的作用和使用方法。

1. 连接池大小(poolSize)连接池大小是指连接池中同时能够活动的连接数。

这个参数的设置应该根据应用程序的并发访问量和数据库的性能来确定。

如果并发访问量较大,可以适当增加连接池的大小,以避免连接超时或连接被拒绝的情况发生。

但是过大的连接池会占用较多的系统资源,因此需要权衡。

2. 最小空闲连接数(minIdle)最小空闲连接数是指连接池中保持的最小空闲连接数量。

这个参数的设置应该根据应用程序的负载和响应时间要求来确定。

如果应用程序的负载较高,可以适当增加最小空闲连接数,以提高响应速度。

但是过多的空闲连接会占用系统资源,因此需要合理设置。

3. 最大等待时间(maxWaitTime)最大等待时间是指当连接池中没有可用连接时,应用程序等待获取连接的最长时间。

超过这个时间,应用程序将抛出连接超时异常。

这个参数的设置应该根据应用程序的响应时间要求来确定。

如果应用程序的响应时间要求较高,可以适当增加最大等待时间,以避免连接超时异常的发生。

4. 连接超时时间(connectionTimeout)连接超时时间是指建立数据库连接的最长时间。

如果连接超时,应用程序将抛出连接超时异常。

这个参数的设置应该根据数据库的性能和网络状况来确定。

如果数据库响应时间较长或网络延迟较大,可以适当增加连接超时时间,以避免连接超时异常的发生。

5. 最大连接数(maxConnections)最大连接数是指连接池中允许的最大连接数量。

这个参数的设置应该根据数据库的性能和资源利用效率来确定。

如果数据库的性能较好,并且系统资源充足,可以适当增加最大连接数,以提高并发处理能力。

但是过多的连接数量会占用较多的系统资源,因此需要合理设置。

数据库连接池的选择与配置

数据库连接池的选择与配置

数据库连接池的选择与配置数据库连接池是现代Web应用程序中常用的组件之一,它在提供高效、可靠的数据库连接管理方面起着关键作用。

正确选择和配置数据库连接池可以大大提升系统的性能和稳定性。

本文将探讨数据库连接池的选择与配置问题,并提供一些实用的建议。

一、数据库连接池的选择在选择数据库连接池之前,需要明确应用程序的需求和特点。

不同的数据库连接池具有不同的特点和功能,因此根据实际应用情况进行选择是至关重要的。

1. 数据库类型和开发语言不同的数据库类型和开发语言通常会对数据库连接池的选择产生影响。

例如,对于Java应用程序而言,常用的数据库连接池有C3P0、Driud和HikariCP等,而.NET应用程序则可以选择Microsoft提供的连接池实现。

2. 并发性能需求如果应用程序需要支持高并发性能,那么选择一个具有良好并发性能的数据库连接池是非常重要的。

一些高性能的连接池如HikariCP和Apache Commons DBCP2,可以提供快速、高效的连接管理和资源分配。

3. 可扩展性和负载均衡如果应用程序需要支持可扩展性和负载均衡,那么选择一个具备这些功能的数据库连接池是必要的。

一些连接池如Druid和C3P0提供了连接池集群功能,能够实现数据库连接池的水平扩展和负载均衡。

二、数据库连接池的配置正确的数据库连接池配置可以提供更好的性能和稳定性。

下面是一些常见的配置项和建议。

1. 连接池大小连接池大小应根据应用程序的并发请求数和系统负载进行合理的配置。

连接池过小会导致连接请求被拒绝,而连接池过大则会浪费系统资源。

一般来说,可以根据实际情况进行调整,实时监控连接池的性能指标是一个不错的选择。

2. 连接超时为了避免长时间占用连接资源,连接池应该配置适当的连接超时时间。

通常,超过一定时间未使用的连接会被连接池回收并释放到连接池中。

3. 最小空闲连接数最小空闲连接数指连接池中保持的最少空闲连接数。

这个值应根据系统的负载和请求频率进行合理的设置。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Tomcat7.0配置连接池的步骤:
第一步:在Tomcat的配置文件Tomcat7.0\conf\context.xml中添加信息:
<Context>
<Resource
name="jdbc/drp"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
maxIdle="2"
maxWait="5000"
username="drp"
password="drp"
url="jdbc:oracle:thin:@:1521:bjpowernode"
maxActive="4"/>
</Context>
第二步:把配置文件context.xml剪切到webRoot/META-INF中。

(若是只有一个项目使用连接池的话,则剪切到使用连接池项目webRoot/META-INF中。

若是多个项目都使用连接池,则不进行操作第二步。

)
第三步:则在程序中获得连接:
//new DBcP pool
Context ctx=new InitialContext();
//通过JNDI查找DataSource
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/drp");
conn=ds.getConnection();
其中第一步中的上下文context.xml中的参数的解析如下:
其中的name属性是数据源名称,通常采取jdbc/**.
type属性是数据源方式。

driverClassName属性是驱动程序名称。

(此文中是oracle驱动程序)
username,password,数据库名称和密码
url:访问的数据库路径。

maxActive属性是并发连接的最大数。

设置为0则无限制。

maxWait属性是等待连接的最大连接的时间。

maxIdle属性是连接池中空闲的连接的个数。

上文中的设置的maxActive="4"说明可以最大连接的个数为4个,再建立连接,则出现异常。

而maxIdle="2"说明当关闭数据库时(不是真正的断开连接,而是归还连接池中)连接池中最大可以有空闲的连接数为2个。

若是再有建立连接,此时若连接池中没有空闲的连接,但是又没有达到maxActive并发的最大连接数,则在连接池中建立连接。

相关文档
最新文档