当前位置:首页 » 操作系统 » tomcat数据库连接池

tomcat数据库连接池

发布时间: 2022-05-07 23:23:57

‘壹’ tomcat数据库连接池,到底如何配置阿...

在下META-INF的context.xml下配置 和修改/conf/server.xml里加Context是一样的, 有spring配在spring的配置文件里,

简单给你段配置

<Context path="/apppath" docBase="myapp" debug="0">
<Resource name="jdbc/myDB" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="userid" password="mypass"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/myDB?autoReconnect="true"
removeAbandoned="true" removeAbandonedTimeout="60"
logAbandoned="true" />
</Context>

外,随便说句,tomcat配置里默认用的是dbcp,性能并不好;至于用什么数据库,换驱动和链接串就行了

‘贰’ 怎样配置Tomcat6.0的数据库连接池详解

此文只针对Tomcat6.0进行配置。
1.在自己的项目下的META-INF(注意:不是WEB-INF,我看网上很多人都弄错了)下面新建一个context.xml文件,文件内容为:

<?xml version="1.0" encoding="UTF-8"?>
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource> //监听资源
<Resource
name="myoracle" //给资源随便起一个名字,用于在程序中调用。
auth="Container" //
type="javax.sql.DataSource" //资源类型
driverClassName="oracle.jdbc.OracleDriver" //加载驱动,每种数据库的方式不同,自己参考资料。
url="jdbc:oracle:thin:@localhost:1521:ICSS" //连接字符串,相信大家不陌生。
username="jsp" //访问数据库用户名
password="jsp" //访问数据库的密码
maxActive="200" //最大可以有200名用户连接数据源
maxIdle="10" //如果没有用户连接,空出10个连接等待用户连接
maxWait="5000"/> //如果已连接用户5000秒内没有再次连接数据源,则放弃此连接
</Context>

2.如果不是用的myeclipse自带的tomcat,则要到那个tomcat下面conf\Catalina\localhost删除host-manager.xml和manager.xml。
3.然后就在servlet里面调用了,调用方法:
需要用到的引用:

import javax.sql.DataSource;
import javax.naming.InitialContext;
import java.sql.Connection;
InitialContext initCtx = new InitialContext(); //
//下面的” java:comp/env”是固定的,”myoracle”是在context.xml中指定的name。
DataSource ds = (DataSource)initCtx.lookup("java:comp/env/myoracle");
Connection conn = ds.getConnection(); //获取连接。

附加:

1.Sql server 的context.xml配置:

<Resource
name="名字"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="5000"
username="用户名"
password="密码"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=数据库名"
/>

‘叁’ tomcat数据库连接池,到底如何配置阿

在src下面创建一个properties文件,把数据连接池要用到uri,用户名和密码包括最大连接数这么放到里面,然后在创建数据连接池的时候加载这个文件,就o了,数据连接池的各种配置信息都写在这个properties文件用

‘肆’ Tomcat配置SQLserver2005数据库连接池问题

把你在tomcat下的conf/server.xml里添加的东西都删掉
然后在conf下建一个context.xml文件
加入如下代码:
<?xml version='1.0' encoding='utf-8'?>
<Context>
<Resource name="jdbc/sqlserver2005"
auth="Container"
type="javax.sql.DataSource"
password="你的服务器密码"
username="sa"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;DatabaseName=blog"
maxActive="100" maxIdle="30" maxWait="5000"/>
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>

最后把sqljdbc.jar放到tomcat的lib下

‘伍’ Tomcat数据源和连接池配置怎么配~~ 小弟快疯了~~~

这位小同学,不同TOMCAT版本的数据原配置是不一样的?你用的是tomcat6还是tomcat5?
我给你配吧 我的是tomcat6.0
(1)第一步:在tomcat的配置文件(context.xml)加入数据库连接信息
<Resource name="jdbc/dataBase1" auth="Container" type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"//你的数据库驱动程序名字;
url="jdbc:oracle:thin:@192.168.20.90:1521:carddb"你的数据库URL连接;
username="card"//用户名
password="password"//密码
maxActive="20"//连接池的最大数据库连接数,设为0表示无限制
maxIdle="10"//
maxWait="10000" />

(2)在web.xml中配置引用
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/dataBase1</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

(3)第三部测试代码

测试代码:
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class DataSourceTest{
public static Connection getCon(){
Connection conn = null;
try{
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:/comp/env/jdbc/dataBase1");
conn = ds.getConnection();
}catch(NamingException e){
e.printStackTrace();
} catch(SQLException e){
e.printStackTrace();
}
return conn;
}
}

‘陆’ 怎么在tomcat配置数据库连接池

方法/步骤

Tomcat大都是免安装绿色版的,找到Tomcat的解压路径,然后找打一下文件:tomcat\conf\context.xml。

打开文件context.xml。
将右侧滚动条拉到最下方,并添加如下图红色框内的代码。
也可复制如下代码:
<Resource driverClassName="oracle.jdbc.driver.OracleDriver"
maxActive="30" maxIdle="3" maxWait="5000" name="jdbc/test" username="test" password="test"
type="javax.sql.DataSource" url="jdbc:oracle:thin:@127.0.0.1:1521:orcl"/>

那上边的代码有什么作用呢?下边来给大家解释比较常用的几个参数。
driverClassName:驱动的名称。
该参数为数据库驱动类名称,比如上边使用的是oracle的驱动。当然也意为着只能连接Oracle的数据库。如果想用MySQL的,那就写下边这个喽。
MySQL的驱动为:com.mysql.jdbc.Driver

name/password:为数据库的用户名和密码。

‘柒’ TOMCAT怎么配置连接池

Tomcat的连接池配置方式具体如下:
一.配置tomcat连接池
1. 修改server.xml或者在conf/Catalina/localhost下添加对应的xml片段。此处使用的是第二种方法。
在conf/Catalina/localhost文件夹下新建ROOT.xml片段,添加以下内容:
<?xmlversion="1.0"encoding="UTF-8"?>
<Context crossContext="true" useHttpOnly="true">
<Resourcename="jdbc/infogrid" type="javax.sql.DataSource" password="123456" driverClassName="com.mysql.jdbc.Driver" maxIdle="10" maxWait="50" username="root" url="jdbc:mysql://localhost:3306/infogrid?autoReconnect=true" maxActive="20"/>
</Context>
2. 为tomcat添加数据库连接驱动包,本用例使用mysql,将mysql的驱动包添加到common/lib下
二.编写java测试类(该类必须部署在tomcat容器中,否则无法获得JNDI资源)
PreparedStatement ps=null;
ResultSet rs=null;
try{
InitialContext ctx=new InitialContext();
DataSource dataSource=(DataSource)ctx.lookup("java:comp/env/jdbc/infogrid");
Connection connection=dataSource.getConnection();
ps=connection.prepareStatement("select count(*) from test");
rs=ps.executeQuery();
rs.next();
System.out.println("表中行数为:"+rs.getInt(1));
rs.close();
ps.close();
System.out.println(connection.getClass());
//class org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper
Field field=connection.getClass().getDeclaredField("delegate");
field.setAccessible(true);
System.out.println(field.get(connection).getClass());
//class org.apache.tomcat.dbcp.dbcp.PoolableConnection
connection.close();
//此关闭并非为真得关闭数据库连接,具体该close实现可见上面的两个Connection代理类,其实只是告诉连接池,该Connection已经用完了,可以被再次利用了
}catch(Exception ex){
ex.printStackTrace();
}

‘捌’ tomcat 连接池

可以多配成,访问量下来连接数目也自动会下来。配少了反而会引起阻塞。多配是没关系的。系统会自动管理。这个数量不占用资源,占用资源的是生成的连接的个数。这个连接池会进行管理的。

‘玖’ 如何在tomcat里面配置jdbc连接池

一、连接池配置<bean class="org.apache.tomcat.jdbc.pool.PoolProperties">
<property name="url" value="${jdbcUrl}"/>
<!--数据库驱动-->
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<!--用户名-->
<property name="username" value="mysql"/>
<!--密码-->
<property name="password" value="123456"/>
<!--注册池JMX,默认:true-->
<property name="jmxEnabled" value="false"/>
<!--检查连接死活的时间间隔,单位:毫秒-->
<property name="validationInterval" value="30000"/>
<!--指定连接进入空闲状态时是否经过空闲对象驱逐进程的校验,如果校验未通过,则该连接被连接池断掉
值为true,则validationQuery参数必须为一个非空字串---->
<property name="testWhileIdle" value="false"/>
<!--指定连接返回到池中是时是否经过校验
值为true,则validationQuery参数必须为一个非空字串---->
<property name="testOnReturn" value="false"/>
<!--指定连接被调用时是否经过校验,如果校验未通过,则该连接被连接池断掉,并由连接池尝试调用另一个连接
值为true,则validationQuery参数必须为一个非空字串-->
<property name="testOnBorrow" value="true"/>
<!--在连接返回给调用者前用于校验连接是否有效的SQL语句,如果指定了SQL语句,则必须为一个SELECT语句,且至少有一行结果-->
<property name="validationQuery" value="select 1"/>
<!--连接池处于活动状态的数据库连接的最大数目,0表示不限制,表示最大并发-->
<property name="maxActive" value="1000"/>
<!--初始化连接数-->
<property name="initialSize" value="10"/>
<!--连接池中连接用完时,新的请求的等待时间(即等待别的连接空闲),超时返回异常,毫秒-->
<property name="maxWait" value="100000"/>
<!--以毫秒表示空闲对象驱逐进程由休眠状态进入运行状态的数值,值为非正整时表示不运行任何空闲对象驱逐进程
运行判断连接超时任务的时间间隔-->
<property name="timeBetweenEvictionRunsMillis" value="30000"/>
<!--以毫秒表示连接被空闲对象驱逐进程驱逐前在池中保持空闲状态的最小时间,连接的超时时间,默认为半小时-->
<property name="minEvictableIdleTimeMillis" value="30000"/>
<!--连接池检查每个空闲对象驱逐进程的对象数量
<property name="numTestPerEvictionRun" value="3"/>
-->
<!--连接池处于空闲状态的数据库连接的最小数目,低于此数值将会创建所欠缺的连接,设0无限制-->
<property name="minIdle" value="10"/>
<!--连接池处于空闲状态的数据库连接的最大数目,取非正整数表示不受限制,超过此数值时多余的空闲连接将会被释放-->
<property name="maxIdle" value="200"/>
<!--当清除无效连接时是否在日志中记录清除信息的标志-->
<property name="logAbandoned" value="false"/>
<!--是否清除已经超过 removeAbandonedTimeout 设置的无效连接,自动回收超时连接
启动机制:getNumActive() > getMaxActive() - 3 和 getNumIdle() < 2
假设maxActive=20,而当前18个活动连接,1个空闲连接,机制将会启动
但是只有在活动连接没有使用的时长超过“removeAbandonedTimeout”(默认300秒),的连接将被清除-->
<property name="removeAbandoned" value="true"/>
<!--以秒表示清除无效连接的时限,自我中断时间,单位秒-->
<property name="removeAbandonedTimeout" value="60"/>
<!--设置拦截器,默认为空
ConnectionState:跟踪自动提交,只读目录和事务隔离级别
StatementFinalizer:跟踪打开的语句,并关闭连接时的返回到池中
-->
<property name="jdbcInterceptors" value="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"/>
</bean>

热点内容
华为电脑服务器系统进不去提示 发布:2024-10-08 00:13:42 浏览:490
登录密码如何获取 发布:2024-10-07 23:58:40 浏览:424
王者荣耀人机脚本 发布:2024-10-07 23:58:33 浏览:807
地标建筑脚本 发布:2024-10-07 23:48:51 浏览:242
sqlorderby 发布:2024-10-07 23:42:13 浏览:958
qq秒源码 发布:2024-10-07 23:41:37 浏览:471
51单片机编译器 发布:2024-10-07 23:28:04 浏览:798
安卓手机陌陌封设备了怎么搞 发布:2024-10-07 23:17:00 浏览:180
sql管理系统代码 发布:2024-10-07 23:00:51 浏览:524
安卓什么浏览器可以打开 发布:2024-10-07 23:00:51 浏览:121