數據庫連接的建立及關閉對系統而言是耗費系統資源的操作,在多層結構的應用程序環境中,這種耗費資源的動作對系統的性能影響尤為明顯。
在傳統的數據庫連接方式(指通過DriverManager)中,一個數據庫連接對象均對應一個物理數據庫連接,每次操作都打開一個物理連接,使用完都關閉連接,這樣造成系統的性能低下。
數據庫連接池的解決方案是在應用程序啟動時建立足夠的數據庫連接,并將這些連接組成一個連接池,由應用程序動態地對池中的連接進行申請、使用和釋放。對于多于連接池中連接數的并發請求,應在請求隊列中排隊等待。并且應用程序可根據池中連接的使用率,動態增加或減少池中的連接數。
連接池技術盡可能多地重用了消耗內存的資源,大大節省了內存,提高了服務器的服務效率,能夠支持更多的客戶服務。通過使用連接池,將大大提高程序運行效率,同時,我們可以通過其自身的管理機制來監視數據庫連接的數量、使用情況等。
在Tomcat5.5中配置數據源的方法與5.0中的方法是不一樣的。
在\conf\server.xml中添加的內容如下(在</host>前)
<Context path="/somepath" docBase="somepath"
debug="0" reloadable="true" crossContext="true">
<Resource
name="jdbc/DemoDataSource"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/yourdatebase"
username="root"
password="yourpassword"
maxActive="1000"
maxIdle="200"
maxWait="5000"
/>
</Context>
在連接類中,代碼編寫如下:
Context context=new InitialContext();
DataSource dataSource=(DataSoruce)context.lookup("java:comp/env/jdbc/DemoDataSource");
Connection conn = dataSource.getConnection();
其他的數據庫操作就都一樣了。
當執行完數據庫操作時,我們可以執行conn.close()方法,讓連接池管理器回收這個連接。和普通連接不同的是,這個操作并不關閉到數據庫的物理連接。
posted on 2008-11-08 16:42
吳榮 閱讀(217)
評論(0) 編輯 收藏