亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

tomcat5.0與tomcat5.5的數據庫連接池jndi配置區

系統 1810 0

在tomcat5.5版本以前,可以說jndi配置相對是比較復雜的,而且據網友說用tomcat5.0的控制臺配置數據庫連接池經常有問題,而且文檔寫得又不詳細。

tomcat5.5出來后,jndi的配置方法是大大地節省,而且很簡潔,個人覺得比以前的版本好很多。這里大概給出一個配置例子。tomcat數據庫連接池jndi配置有兩種,一種是全局的,一種是context的,下面主要是講全局的,并且以一個實例jdbc/byisdb為例子
???
一、tomcat5.0配置方法

1、首先在server.xml里面配置,找到下面的配置
<!-- Global JNDI resources -->
<GlobalNamingResources>
</GlobalNamingResources>

2、在里面增加一個Resource

?????? < Resource name = " jdbc/byisdb "
??????????????? auth
= " Container "
??????????????? type
= " javax.sql.DataSource " />



3、在下面增加屬性

?? < ResourceParams name = " jdbc/byisdb " >
????
< parameter >
??????
< name > factory </ name >
??????
< value > org.apache.commons.dbcp.BasicDataSourceFactory </ value >
????
</ parameter >

????
<!-- Maximum number of dB connections in pool. Make sure you
????????? configure your mysqld max_connections large enough to handle
????????? all of your db connections. Set to
0 for no limit.
?????????
-->
????
< parameter >
??????
< name > maxActive </ name >
??????
< value > 100 </ value >
????
</ parameter >

????
<!-- Maximum number of idle dB connections to retain in pool.
????????? Set to
- 1 for no limit.?? See also the DBCP documentation on this
????????? and the minEvictableIdleTimeMillis configuration parameter.
?????????
-->
????
< parameter >
??????
< name > maxIdle </ name >
??????
< value > 30 </ value >
????
</ parameter >

????
<!-- Maximum time to wait for a dB connection to become available
????????? in ms, in
this example 10 seconds. An Exception is thrown if
?????????
this timeout is exceeded.?? Set to - 1 to wait indefinitely.
?????????
-->
????
< parameter >
??????
< name > maxWait </ name >
??????
< value > 10000 </ value >
????
</ parameter >

????
<!-- MySQL dB username and password for dB connections?? -->
????
< parameter >
?????
< name > username </ name >
?????
< value > una_oa </ value >
????
</ parameter >
????
< parameter >
?????
< name > password </ name >
?????
< value > una_oa </ value >
????
</ parameter >

????
<!-- Class name for the old mm.mysql JDBC driver - uncomment this entry and comment next
?????????
if you want to use this driver - we recommend using Connector / J though
????
< parameter >
???????
< name > driverClassName </ name >
???????
< value > org.gjt.mm.mysql.Driver </ value >
????
</ parameter >
?????
-->
????
????
<!-- Class name for the official MySQL Connector / J driver -->
????
< parameter >
???????
< name > driverClassName </ name >
???????
< value > oracle.jdbc.driver.OracleDriver </ value >
????
</ parameter >
????
????
<!-- The JDBC connection url for connecting to your MySQL dB.
????????? The autoReconnect
= true argument to the url makes sure that the
????????? mm.mysql JDBC Driver will automatically reconnect
if mysqld closed the
????????? connection.?? mysqld by
default closes idle connections after 8 hours.
?????????
-->
????
< parameter >
??????
< name > url </ name >
??????
< value > jdbc:oracle:thin:@ 192.168 . 1.210 : 1521 :byisdb </ value >
????
</ parameter >
??
</ ResourceParams >


4、在你的應用的web.xml里面增加

< resource - ref >
< description > postgreSQL Datasource example </ description >
< res - ref - name > jdbc / byisdb </ res - ref - name >
< res - type > javax.sql.DataSource </ res - type >
< res - auth > Container </ res - auth >
</ resource - ref >

OK,到此配置完畢,可以用下面的幾段代碼進行測試

Context initContext = new InitialContext();
Context envContext??
= (Context)initContext.lookup( " java:/comp/env " );
DataSource ds
= (DataSource)envContext.lookup( " jdbc/byisdb " );
Connection conn
= ds.getConnection();
out.println(
" conn is: " + conn);

二、tomcat5.5配置

1、打開conf/context.xml里面
添加下面的配置

???? < Resource name ="jdbc/byisdb" auth ="Container" type ="javax.sql.DataSource" driverClassName ="oracle.jdbc.driver.OracleDriver" url ="jdbc:oracle:thin:@192.168.1.210:1521:byisdb" username ="una_oa" password ="una_oa" maxActive ="20" maxIdle ="10" maxWait ="10000" />

2在你的應用的web.xml里面增加

< resource - ref >
< description > postgreSQL Datasource example </ description >
< res - ref - name > jdbc / byisdb </ res - ref - name >
< res - type > javax.sql.DataSource </ res - type >
< res - auth > Container </ res - auth >
</ resource - ref >


同樣,可以用上面的代碼進行測試。

2

一.在tomcat_home\common下放入jdbc的三個驅動程序(一定要的哦),可以在微軟的網站上去下載,安裝的SQLSERVER2k默認的用戶名是sa,密碼是空,但密碼為空并不代表沒有密碼,所以你的url中一定要定義username和password,最好是重設定一下密碼
二.出現不能引用錯誤的話一般就是路徑沒有寫對,tomcat默認的路徑是tomcat_home\webapps\不過使用5.5.x的話,按下面方法就行,不需要配置路徑,而且也不用在youwebapp\WEB-INF\web.xml文件配置引用
三.tomcat5.5.x版的server.xml配置與tomcat5.0的配置不同,下面列舉三種在tomcat5.5.x的配置方法,如果配置不正確會出現javax.naming.NameNotFoundException: Name is not bound in this Context 錯誤
方式一、全局數據庫連接池
1、通過管理界面配置連接池,或者直接在tomcat\conf\server.xml的GlobalNamingResources中增加
<Resource name="jdbc/mydb" type="javax.sql.DataSource" password="mypwd" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" maxIdle="2" maxWait="5000" validationQuery="select 1" username="sa" url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb" maxActive="4"/>
2、在tomcat\webapps\myapp\META-INF\context.xml的Context中增加:
<ResourceLink global="jdbc/mydb" name="jdbc/mydb" type="javax.sql.DataSource"/>
這樣就可以了。
方式二、全局數據庫連接池
1、同上
2、在tomcat\conf\context.xml的Context中增加:
<ResourceLink global="jdbc/mydb" name="jdbc/mydb" type="javax.sql.DataSource"/>
方式三、局部數據庫連接池
只需在tomcat\webapps\myapps\META-INF\context.xml的Context中增加:
<Resource name="jdbc/mydb" type="javax.sql.DataSource" password="mypwd" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" maxIdle="2" maxWait="5000" validationQuery="select 1" username="sa" url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb" maxActive="4"/>
參數說明:
driveClassName:JDBC驅動類的完整的名稱;
maxActive:同時能夠從連接池中被分配的可用實例的最大數;
maxIdle:可以同時閑置在連接池中的連接的最大數;
maxWait:最大超時時間,以毫秒計;
password:用戶密碼;
url:到JDBC的URL連接;
user:用戶名稱;
validationQuery:用來查詢池中空閑的連接。
以上三種方式在tomcat 5.5.4下都可以。另外,sql server的jdbc driver是從微軟網站上下載的sql server jdbc (sp3)。
四.報錯org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory ([Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.)此是一個小問題,因為我的SQLSERVER2K的服務改成手動的,所以每次啟動后就要手動的啟動SQLSERVER2K,由于一下子不記的啟動了,所以報些錯誤,所以如果你經常要用到SQLSERVER2K的話,最好不要將其改為手動啟動

tomcat5.0與tomcat5.5的數據庫連接池jndi配置區別


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久香蕉国产线看观看8青草 | 国产成人精品曰本亚洲77美色 | 人人干人 | 国产码欧美日韩高清综合一区 | 国产呦系列 欧美呦 日韩呦 | 97视频免费在线观看 | 香蕉网伊 | 99re热视频这里只有精品5 | 欧美日韩中文国产一区二区三区 | 国产乱子伦视频大全 | 久久久久久久91精品免费观看 | www.午夜色 | 日韩欧美亚洲国产 | 女人与女zzzoooxxxx | 四虎最新紧急入口 | 色狠狠狠色噜噜噜综合网 | 欧美成a| 亚洲一级毛片在线观播放 | 午夜干b| 国产99re在线观看只有精品 | 深夜影院a | 国产美女视频做爰 | 热久久国产欧美一区二区精品 | 四虎4hu永久免费视频大全 | 久热国产精品 | 色综合久久综合 | 婷婷夜夜躁天天躁人人躁 | 亚洲国产成人久久综合野外 | 欧美 日产 国产精品 | 日本国产亚洲 | 亚洲狠狠婷婷综合久久久久图片 | 亚洲色无码播放 | 亚洲va天堂va欧美ⅴa | 香蕉视频免费看 | 欧美日韩影视 | 久久精品亚洲牛牛影视 | 四虎在线网站 | 国产亚洲精品91 | 天天干天天射综合网 | 精品久久久久久婷婷 | 天天摸夜夜摸夜夜狠狠摸 |