Tomcat 7 DBCP 配置(MySQL)
復制mysql-connector-java-5.1.17-bin.jar到$CATALINA_BASE/lib中。
使用DBCP需要安裝以下兩個組件:
1.Commons DBCP
2.Commons Pool
tomcat安裝目錄下的lib/tomcat-dbcp.jar已經包含這兩個組件了。
tomcatJNDI配置是寫在context中的。在tomcat6中context有5種定義方式:
1.將數據庫連接池的配置寫在 $CATALINA_BASE/conf/context.xml中,這樣的配置可以被tomcat服務器上所有的服務加載
2.寫在文件$CATALINA_BASE/conf/[enginename]/[hostname]/context.xml.default中,同樣這個文件可以被這個host下的所有服務加載。
3.寫在文件$CATALINA_BASE/conf/[enginename]/[hostname]/***.xml中
4.在所要發布的web應用下的/META-INF/context.xml(如果沒有則創建)中寫上配置內容。這樣在web應用發布的時候這個xml配置文件會自動復制到$CATALINA_BASE/conf/[enginename]/[hostname]/目錄下面,并重命名為web應用名字.xml。
5.是將配置內容寫在cong/server.xml文件中。(不建議這種方式,因為這樣修改context配置需要重新啟動tomcat服務器)
定義方式(4)的特點:應用開發者可以自己配置數據庫連接池而不用修改服務器端的配置,而且也支持熱部署。
數據庫連接池context的屬性
數據庫連接池默認是不支持設置自動釋放長時間未用的connection的??梢酝ㄟ^設置removeAbandoned="true"來是DBCP連接池支持自動釋放長時間未用的連接。默認的時間是300秒,可以通過設置removeAbandonedTimeout="60"來將釋放延時改為60秒或者其他。
下面是mysql 數據庫的context配置示例:
?
$CATALINA_BASE/conf/context.xml
<Resource name="jdbc/MySQLDB" auth="Container" type="javax.sql.DataSource"
?????????????? maxActive="100" maxIdle="30" maxWait="10000"
?????????????? username="root" password="Abc12345" driverClassName="com.mysql.jdbc.Driver"
?????????????? url="jdbc:mysql://172.16.13.120:3306/test01"/>
?
WEB-INF/web.xml
<description>MySQL Test App</description>
? <resource-ref>
??? <description>DB Connection</description>
??? <res-ref-name>jdbc/MySQLDB</res-ref-name>
??? <res-type>javax.sql.DataSource</res-type>
??? <res-auth>Container</res-auth>
? </resource-ref>
?
?
轉載于:https://www.cnblogs.com/flysoft/archive/2011/08/06/2129484.html
總結
以上是生活随笔為你收集整理的Tomcat 7 DBCP 配置(MySQL)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#创建隐藏文件
- 下一篇: linq to object 、linq