在tomcat下context.xml中配置各類數據庫鏈接池(轉)

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

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

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

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

<Context reloadable="true">tomcat

<Resource服務器

name="jdbc/數據庫名"oracle

type="javax.sql.DataSource"jsp

maxActive="100"sqlserver

maxIdle="30"url

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"/> //
創建鏈接的的最大等待時間

相關文章
相關標籤/搜索