Tomcat配置数据库连接池

合集下载

Tomcat下连接池的配置(23)jsp精品PPT课件

Tomcat下连接池的配置(23)jsp精品PPT课件

(二)Tomcat5.5 JNDI DataSource 配置
• 准备工作:下载JDBC驱动程序包和Connection pools
classes(commons-dbcp-1.2.1.jar),并且放在tomcat的 common/lib目录下。 • 1步:配置tomcat/conf/server.xml,在 <GlobalNamingResources></GlobalNamingResources> 之间的最后添加如下的元素。
<description>DB Connection</description> <!-- <res-ref-name>jdbc/TestDB</res-ref-name>中的值要跟 context.xml中<resource>下的name属性要相匹配好--> <res-ref-name>jdbc/TestDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </web-app>
(一)、Tomcat6.0下的配置过程
准备:将JDBC包拷贝到tomcat目录下的common/lib或lib下。 1步:打开tomcat6.0目录下的conf/context.xml文件,并在<Context>内部添
加如下元素<Resource>。 2步:<Resource/>元素内容如下: <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="root" password="123" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/yorker?autoReconnect=true"/>

JNDI 详解

JNDI 详解

JNDI全面总结原理:在DataSource中事先建立多个数据库连接,保存在数据库连接池中。

当程序访问数据库时,只用从连接池中取空闲状态的数据库连接即可,访问结束,销毁资源,数据库连接重新回到连接池,这与每次去直接访问数据库相比,会节省大量时间和资源。

JNDI( Java Naming and Directory Interface ),是Java平台的一个标准扩展,提供了一组接口、类和关于命名空间的概念。

如同其它很多Java技术一样,JDNI是provider-based的技术,暴露了一个API和一个服务供应接口(SPI)。

这意味着任何基于名字的技术都能通过JNDI而提供服务,只要JNDI支持这项技术。

JNDI目前所支持的技术包括LDAP、CORBA Common Object Service(COS)名字服务、RMI、NDS、DNS、Windows注册表等等。

很多J2EE技术,包括EJB都依靠JNDI来组织和定位实体。

可以把它理解为一种将对象和名字捆绑的技术,对象工厂负责生产出对象,这些对象都和唯一的名字绑在一起,外部资源可以通过名字获得某对象的引用。

在javax.naming的包包中提供Context接口,提供了两个很好用的方法:<1> void bind( String name , Object object )将名称绑定到对象。

所有中间上下文和目标上下文(由该名称最终原子组件以外的其他所有组件指定)都必须已经存在。

<2>Object lookup( String name )检索指定的对象。

如果name为空,则返回此上下文的一个新实例(该实例表示与此上下文相同的命名上下文,但其环境可以独立地进行修改,而且可以并发访问)。

运行机制:1、首先程序代码获取初始化的JNDI 环境并且调用Context.lookup() 方法从JNDI 服务提供者那里获一个DataSource 对象2、中间层JNDI 服务提供者返回一个DataSource 对象给当前的Java 应用程序这个DataSource 对象代表了中间层服务上现存的缓冲数据源3、应用程序调用DataSource 对象的getConnection() 方法4、当DataSource 对象的getConnection() 方法被调用时,中间层服务器将查询数据库连接缓冲池中有没有PooledConnection 接口的实例对象。

tomcat部署手册

tomcat部署手册

部署准备1. 系统环境WINDOWS 2000 SERVER2. 数据库ORACLE9i3. 安装包JDK安装文件:j2sdk-1_4_2-windows-i586.exeTOMCAT 安装文件:jakarta-tomcat-5.0.28.exe数据库文件:v60c.dmp应用程序包:systemframe说明文本:readme.txt(注明导出数据库文件的服务名)部署实施一、配置JDK1. 安装JDK建议安装1.4.0以上版本的JDK,以配合5.0以上版本的TOMCAT。

以J2SDK1.4.2的安装为例,执行安装包中的J2SDK1.4.2安装程序,自定义路径,假定安装路径为:C:\j2sdk1.4.2。

以下环境变量配置过程中,变量值的设定均以此路径为准,实际安装时将其替换为实际安装路径。

2. 配置环境变量1)配置路径在桌面上或开始菜单中右键点击“我的电脑”图标=>点击“属性”=>选择“高级”页面=>点击“环境变量”按钮,如图1-1。

图1-1 系统属性-“高级”页面在环境变量窗口中点击系统变量中的“新建”按钮,新建一个环境变量;或者选中某个变量,点击“编辑”按钮,对该变量进行修改,如图1-2。

图1-2 环境变量窗口图1-3 编辑系统变量窗口2)添加环境变量(实施部署可以只配置第一个变量)如果已经安装过JDK,则查看环境变量中有没有上述变量。

如果没有或变量值跟上述不符,重新设置以上变量。

二、配置TOMCAT1. 安装TOMCAT运行安装包中TOMCAT5.0.28.exe,安装TOMCAT。

注意,如果使用TOMCAT5.5.9版本,需要JRE1.5。

按照提示运行安装程序,在安装类型的下拉菜单中选择“custom”,在窗口的安装树里选中Service,即作为Windows服务来运行。

TOMCA T图2-1 TOMCA T安装类型选择页面指定TOMCAT的安装目录,如图2-2,为了方便起见,这里选择安装在C:\tomcat5.0根目录下。

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

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

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性能测试方案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连接池的设置及简单应用示例


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应用。

tomcat9 线程池连接参数

在Tomcat 9中,线程池(Thread Pool)的配置是通过`<Executor>`元素在`server.xml`文件中进行的。

线程池允许你为Tomcat的HTTP/1.1 Connector定义一个共享的线程池,这样可以提高性能,尤其是在高并发的环境中。

以下是一个配置线程池的示例:```xml<Executor name="tomcatThreadPool"namePrefix="tomcatThreadPool-"maxThreads="1000"maxIdleTime="300000"minSpareThreads="200"threadPriority="5" />```这里的关键参数说明如下:- `name`:线程池的唯一标识符。

默认值为`None`,但为了能够引用这个线程池,你应该给它一个名字。

- `namePrefix`:每个线程的名称前缀。

默认值是`tomcat-exec-`。

- `maxThreads`:线程池中允许的最大线程数。

默认值是200。

- `maxIdleTime`:在关闭一个空闲线程之前,允许它保持空闲的时间(以毫秒为单位)。

默认值是60000(一分钟)。

- `minSpareThreads`:始终保持的最小空闲线程数。

默认值是25。

- `threadPriority`:线程的优先级。

默认值是5。

在配置了线程池之后,你需要在`<Connector>`元素中引用这个线程池:```xml<Connector executor="tomcatThreadPool"port="8080"protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443"minProcessors="5"maxProcessors="75"acceptCount="1000" />```这里的关键参数说明如下:- `executor`:指定要使用的线程池的名称。

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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 如果Tomcat服务器中不是所有的工程都需要配置数据源:
在Web工程的META-INF目录中加入context.xml配置文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="jdbc/mvc" auth="Container" type="javax.sql.DataSource" maxActive="10" maxIdle="3" maxWait="5000" username="scott" password="tiger" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:oracle" /> </Context> name---数据源的JDBC名 auth---表示认证方式,一般为Container type---表示数据源类型使用标准的javax.sql.DataSource maxActive---表示连接池当中最大激活的数据库连接 maxIdle 表示最大的空闲连接数 maxWait 当池的数据库连接已经被占用的时候,最大等待时间 username 表示数据库用户名 password 表示数据库用户的密码 driverClassName 表示JDBC DRIVER url 表示数据库URL地址
配置自带连接池3
需要在%Tomcat_Home%\conf\context.xml配置文件的<Context>元素中加 入如下内容: <ResourceLink name="jdbc/mvc" global="jdbc/oracle" type="javax.sql.DataSource" />
<Resource name="jdbc/oracle" auth="Container" type="javax.sql.DataSource" maxActive="10" maxIdle="3" maxWait="5000" username="scott" password="tiger" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:oracle" /> name---数据源的JDBC名 auth---表示认证方式,一般为Container type---表示数据源类型使用标准的javax.sql.DataSource maxActive---表示连接池当中最大激活的数据库连接 maxIdle 表示最大的空闲连接数 maxWait 当池的数据库连接已经被占用的时候,最大等待时间 username 表示数据库用户名 password 表示数据库用户的密码 driverClassName 表示JDBC DRIVER url 表示数据库URL地址
用数据源获取数据库连接
import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource;
public static getConnection() { Connection conn = null; try { Context initCtx = new InitialContext(); Context ctx = (Context) initCtx.lookup("java:comp/env"); DataSource dataSource = (DataSource) ctx.lookup("jdbc/mvc"); conn = dataSource.getConnection(); } catch (NamingException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; }
配置全局数据源
• 如果Tomcat服务器中所有的工程都需要配置数据源:
需要在%Tomcat_Home%\conf\context.xml配置文件的<Context>元素中加 入如下内容:
<Resource name="jdbc/mvc" auth="Container" type="javax.sql.DataSource" maxActive="10" maxIdle="3" maxWait="5000" username="scott" password="tiger" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:oracle" /> name---数据源的JDBC名 auth---表示认证方式,一般为Container type---表示数据源类型使用标准的javax.sql.DataSource maxActive---表示连接池当中最大激活的数据库连接 maxIdle 表示最大的空闲连接数 maxWait 当池的数据库连接已经被占用的时候,最大等待时间 username 表示数据库用户名 password 表示数据库用户的密码 driverClassName 表示JDBC DRIVER url 表示数据库URL地址
commons-dbcp.jar commons-pool.jar commons-collections.jar 数据库驱动包(如classes12) 需手动copy到%Tomcat_Home%/common/lib包下 Tomcat 6.0要copy到%Tomcat_Home%/lib包下

配置局部数据源
引用全局数据源
配置在%Tomcat_Home%\conf\web.xml,加入如下信息 <resource-ref> <res-ref-name>jdbc/mvc</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> res-ref-name---数据源的JDBC名 ref-type---数据源类型 res-auth---数据源提供者
Tomcat配置数据库连接池
什么是连接池
• 连接池允许应用程序从连接池中获得一个连接 并使用这个连接,而不需要为每一个连接请求 重新建立一个连接。一旦一个新的连接被创建 并且放置在连接池中,应用程序就可以重复使 用这个连接而不必实施整个数据库连接创建过 程。
javax.sql.DataSource---JDBC的数据源接口 Connection Pool API
在Tomcat中配置Oracle自带的数据 库连接池1
• 本方式只需要在Tomcat的lib中加入 classes12.jar包,不需要其它的包
配置自带连接池2
需要在%Tomcat_Home%\conf\server.xml配置文件的 <GlobalNamingResources>元素中加入如下内容:
为什么使用连接池
• 在Web开发中,必须考虑并发情况下的数据处 理,对数据的访问操作会很多 • Connection对象只提供对数据库的连接,可进 行多次JDBC持久化会话 • 增强系统的并发性
Tomcat数据源介绍
• Tomcat所采用的是DBCP数据源,该数据 源为Apache基金会的开源子项目 • 所需使用包:
引用局部数据源
在Web工程的WEB-INF\web.xml中加入如下信息 <resource-ref> <res-ref-name>jdbc/mvc</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> res-ref-name---数据源的JDBC名 ref-type---数据源类型 res-auth---数据源提供者
相关文档
最新文档