當前位置:首頁 » 操作系統 » 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 02:12:54 瀏覽:290
寶馬遠程伺服器如何啟用 發布:2024-10-08 02:02:57 瀏覽:391
c語言freadfwrite 發布:2024-10-08 02:01:15 瀏覽:854
腳本還不簡單嗎 發布:2024-10-08 01:54:43 瀏覽:423
安卓手機如何像平板一樣橫屏 發布:2024-10-08 01:33:26 瀏覽:510
wapi認證伺服器ip 發布:2024-10-08 01:33:24 瀏覽:507
centos自帶python 發布:2024-10-08 00:53:31 瀏覽:340
android串口調試助手 發布:2024-10-08 00:45:03 瀏覽:405
sqlserver2008亂碼 發布:2024-10-08 00:39:59 瀏覽:220
華為電腦伺服器系統進不去提示 發布:2024-10-08 00:13:42 瀏覽:493