在tomcat下context.xml中配置各種數據庫連接池


在tomcat下context.xml中配置各種數據庫連接池  

2008-06-25 16:06:02|  分類: struts |  標簽: |字號大中小 訂閱

 
 

 

Tomcat6的服務器配置文件放在 ${tomcat6}/conf 目錄底下。我們可以在這里找到 server.xml  context.xml。當然,還有其他一些資源文件。但是在在本文中我們只用得上這兩個,其他的就不介紹了。

1.   首先,需要為數據源配置一個JNDI資源。我們的數據源JNDI資源應該定義在context元素中。在tomcat6版本中,context元素已經從server.xml文件中獨立出來了,放在一個context.xml文件中。因為server.xml是不可動態重加載的資源,服務器一旦啟動了以后,要修改這個文件,就得重啟服務器才能重新加載。而context.xml文件則不然,tomcat服務器會定時去掃描這個文件。一旦發現文件被修改(時間戳改變了),就會自動重新加載這個文件,而不需要重啟服務器。我們當然推薦把應用需要的JNDI資源配置在context.xml文件中,而不是server.xml文件中。

1、首先,將數據庫的驅動程序copytomcat6.0\lib下,這一部是關鍵,如果沒有copy 當運行程序的時候后報-找不到驅動-的異常。

2、將下面的代碼放到Tomcat 6.0\conf\context.xml中間,如:

<Context reloadable="true">

<Resource

name="jdbc/數據庫名"

type="javax.sql.DataSource"

maxActive="100"

maxIdle="30"

maxWait="5000"

username="用戶名"

password="密碼"

driverClassName="數據庫的驅動"

url="數據庫的連接地址" />

</Context>

解釋:(100 30 5000 為上面的數據)

maxActive="最大可以有100名用戶連接數據源"

maxIdle="如果沒有用戶連接,空出30個連接等待用戶連接"

maxWait="如果已連接用戶5000秒內沒有再次連接數據源,則放棄此連接"

完成這兩部,數據源就可以用了。

 

另外,也可以在項目root下的WEB-INF下新建context.xml進行配置

<?xml version="1.0" encoding="UTF-8"?>

<Context>/////直連

<Resource

name="jdbc/book"

type="javax.sql.DataSource"

password=""

driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"

maxIdle="5"

maxWait="5000"

username="sa"

url="jdbc:microsoft:sqlserver://localhost:1433;databaseName=book"////直連數據源

maxActive="10"/> 

</Context>

<!-->

<Context>////橋連

<Resource

name="jdbc/book"

type="javax.sql.DataSource"

password=""

driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"

maxIdle="2"

maxWait="5000"

username="sa"

url="jdbc:odbc:bb"///橋連的數據源

maxActive="4"/>

<WatchedResource>C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\context.xml</WatchedResource>

</Context>

<!-->

 

直接在Context文件中加入入:

<Resource

name="jdb/dbsource"

type="javax.sql.DataSource"

driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"

maxIdle="2"

maxWait="5000"

url="jdbc:microsoft:sqlserver://localhost:1433;databaseName=jspdev"

maxActive="4"/>

username="he"

password="he"

 

通過javajndi就可以了

InitialContext initCtx = new InitialContext();
       DataSource ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/
數據庫名");
       Connection conn = ds.getConnection();

以下是各種數據庫的配置

1.sql2000

<Resource
 name="jdbc/
數據庫名"

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=數據庫名"
/>

2.oracle

<Resource 
name="jdbc/
數據庫名"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30" 
maxWait="5000"
username="
用戶名
password="
密碼
driverClassName="oracle.jdbc.driver.OracleDriver" 
url="jdbc:oracle:thin:@127.0.0.1:1521:ora9"
/>

3.mysql

<Resource name="jdbc/mysql"
auth="Container"
type="javax.sql.DataSource" //
資源類型
driverClassName="org.gjt.mm.mysql.Driver"
url="jdbc:mysql://localhost/
數據庫名
username="
用戶名"
password="
密碼"
maxActive="100" //
最大連結數
maxIdle="30" //
最大空閑時間,0為無限制
maxWait="10000"/> //
建立連接的的最大等待時間


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM