?? 會話bean.txt
字號:
無狀態會話Bean的生命周期僅限于客戶端和服務器端的一次會話,當會話結束后,容器可能會選擇銷毀這個無狀態會話Bean,將清除該次會話的所有信息。
但是有的容器也會選擇保存會話Bean實例,供其他想使用會話Bean的客戶端使用
但是不管是清除也好,保存也罷,會話Bean中保存的所有會話信息,將會隨著客戶端會話的結束而消亡,有可能Bean還存在于服務器的內存或緩沖區中,但是會話的信息都被釋放了
所謂無狀態會話Bean就意味著沒有會話狀態,保持不與任何客戶相關的狀態。但是我們可以將會話信息保存在客戶端的變量中,這樣就算無狀態會話Bean已經消亡,或者信息不存在了,那么我們在客戶端照樣可以保存會話信息
因為無狀態會話Bean不保存任何會話狀態,同一個無狀態會話Bean類產生的實例也就都是相同的,即它們對于客戶端來說是無差別的,任何會話Bean都可以被任何客戶端請求服務
有狀態會話Bean的生命周期要比無狀態會話Bean長
這種會話Bean會保存會話信息,信息以數據的形式保存在內存中
但是當請求數量增大的時候,會因起系統嚴重負擔,因為內存資源是有限的
為了解決該問題,有狀態會話bean可以讓暫時不被使用的會話Bean對象進入鈍化狀態,將其存儲到輔助存儲器中
類似于操作系統中使用硬盤作為內存的擴展原理,當某一對象閑置的時候,其占用的物理內存和硬盤的擴展內存交換
將對象從物理內存轉換到輔助存儲器的過程,稱為對象的鈍化
將對象從輔助存儲器讀入到內存的過程,稱為對象的激活
這中交換形式經常發生
對象的鈍化和激活過程,也就是硬盤和內存的交換過程,這個過程是基于對象序列化操作的,對象在這兩個介質之間以bit-block的方式進行傳輸
會話Bean接口、實體Bean接口、消息驅動Bean接口都繼承了EnterpriseBean接口,而EnterpriseBean接口是支持序列化的
鈍化和激活對無狀態會話Bean沒有用處,因為無狀態會話Bean沒有狀態需要被鈍化和激活,因此,無狀態會話Bean可以被EJB容器隨意地從內存中清除
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -