Struts2 Action 的生命周期 問題


Struts2 Action 的生命周期 問題

我在項目中僅用了struts2 + java + jsp 
其它的 沒有用。

比如現在在LoginAction的對象中有一個Conntion 的屬性,我想自己管理這個LoginAction的生命周期,因為只要我一執行完這個LoginAction,我要關閉這個鏈接。請問我該怎么做呢?

我是自己寫了一個構造函數public LoginAction(){...}, 然后再重載了Object 的finalize()方法。行是行得通,但是這樣做不好,因為Action 默認是延遲關閉的,Conntion 不能及時關閉,別的用戶用不了...

5 个解决方案

#1


客戶請求的每個action都是一個實例,action不是單例的,在每個action里手動關閉數據庫連接就行了,最好有個連接池

#2


數據庫連接是有的,但是要調用close()方法才能關閉鏈接呀,所以要在這個Action Destroy的時候close一下,這樣才會關閉。

經我測試,當另一個用戶也調用該Action的時候,前一個Action才會關閉,這樣如果沒有其它的用戶調用該Action,則這個鏈接就沒有辦法得到關閉,別的用戶就不能從池里面取到Connection(如果池滿的話).

#3


有幾點想說:
1:Action主要是處理什么的?
2:關閉數據庫鏈接應該寫在Action中嗎?
所以我覺得如果不在Action中寫數據庫操作就不會出現你以上說的問題了

#4


樓上說得是!讓我思路清晰了很多!

#5


將業務和數據的持久化分開

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com