我已經閱讀了關於有狀態和無狀態會話bean的各種書籍以及它們如何工作。我想知道這些ejbs和使用普通java類的真正用途。基本上你什麼時候去尋找無國界的ejbs,你什麼時候去尋找有狀態的ejbs。我想要一個實時應用程序。EJB無狀態會話bean和有狀態會話bean
回答
這些類型的ejbs的使用通常在服務層作爲服務類。
EJB3無狀態和有狀態Bean實際上是POJO(有一些註釋),他們沒有與普通類的任何大的差別。
但在使用的術語,他們有一定的能力,你不能在正常上課找到像:
- 它們可以被遠程調用(RMI例如協議)。
- 他們可以使用應用程序服務器上下文資源,如數據庫連接和事務。
無狀態或有狀態: - 如果一個任務或進程可以在一個單一步驟中進行(通過一個方法調用)無狀態就像是一個認證過程 正確的選擇 - 如果任務需要一系列的方法調用(多於一個),並且您需要保留先前的結果以在下次調用中使用它們,然後進行有狀態。 像一個裝運過程(選擇項目,添加/刪除,然後做交易)
http會話或有狀態?
EJB可以在應用程序服務器提供服務,他們可能像一個正常的Swing應用程序或者......不同類型的客戶,這樣你就可以在HTTP會話在這些情況下,不中繼。
如果你的應用服務器和Web服務器是不同的(分佈式)它不是好主意,將數據保存在HTTP會話和合格/從應用服務器(網絡開銷)getback到/。
保持狀態,我們可以使用http會話 – 2010-08-27 19:29:27
@Suresh:是的,這也是事實,它取決於你選擇正確的地方來保持國家。 – mhshams 2010-08-27 19:33:23
你什麼時候去http會話vs有狀態也是無狀態的 – 2010-08-27 19:37:07
無狀態會話bean很輕便:它們不存儲有關特定用戶的信息。它們通常以靜態方式使用。例如,客戶端要求產品信息將與無狀態會話bean進行通信。 (「你要的產品‘YXZ’的價格,在這裏你去!」)然而
有狀態會話bean記得是客戶信息。它們包含有關用戶操作的數據。例如,讓我們說一個用戶通過購物車。這些步驟將存儲在有狀態的會話bean中(例如,在付款步驟用戶)。
你真的需要在任何網站類型都是會話bean。除非你的網站是如此基本,以至於無狀態會話bean(真正的只讀網站)可以完成任何事情。
任何網站,跟蹤通過cookies用戶,將需要有狀態會話bean。但請注意,您可以決定在會話bean中放入很少的會話信息,並將該信息存儲在數據庫中。但是你仍然需要一些會話管理。
我已經閱讀過無處不在。但是我想知道你什麼時候會喜歡,以及使用它們的經驗。 – 2010-08-27 19:14:30
我們可以使用httpsession來維護客戶端狀態。 – 2010-08-27 19:23:09
開發商寧願保持在現代企業應用程序的Web層的狀態。我從來沒有見過使用有狀態會話Bean的真實世界Web應用程序。這也是一個可擴展性問題。
一個示例是一個購物車有狀態會話bean,用於跟蹤客戶的產品選擇並在需要時執行銷售。
- 1. 有狀態會話Bean vs無狀態會話Bean
- 2. 會話bean和實體bean以及有狀態會話bean和無狀態會話bean之間的區別
- 3. EJB無狀態會話bean爲空
- 4. 有狀態會話Bean和HTTP會話
- 5. 使用有狀態會話bean(EJB)
- 6. EJB訪問有狀態會話Bean NameNotFoundException
- 7. EJB 3.1丟棄有狀態會話bean
- 8. EJB 2.1有狀態會話bean
- 9. Java,無狀態會話bean
- 10. 無狀態會話Bean
- 11. Java EE 6:如何從無狀態會話Bean調用有狀態會話Bean?
- 12. 何時使用無狀態會話Bean來使用有狀態會話Bean?
- 13. EJB無狀態會話Bean中的CDI bean生產者
- 14. 無狀態會話bean的ejb攔截器,我如何調用有狀態會話bean
- 15. 獲取無狀態和有狀態會話bean
- 16. backingbeans中的無狀態和有狀態會話bean
- 17. 線程安全無狀態會話Bean
- 18. 來自無狀態會話bean的FileIO
- 19. EntityManager未注入無狀態會話Bean
- 20. 無狀態會話bean結果緩存?
- 21. 無狀態會話bean事務
- 22. 無狀態會話Bean對象標識
- 23. 如何在無狀態會話bean
- 24. 如何識別有狀態或無狀態會話bean
- 25. 有狀態會話bean忘記值
- 26. 有狀態會話bean,返回對象
- 27. 有狀態會話Bean何時銷燬?
- 28. 鈍化問題有狀態會話Bean
- 29. 有狀態會話Bean - Stateloss問題
- 30. EJB無狀態會話Bean - 無法創建錯誤
你是指無狀態和有狀態的ejb之間的區別? – mhshams 2010-08-27 19:08:12
@shamsi不完全,但沒有理論答案。 – 2010-08-27 19:12:09
[Stateless and Stateful Enterprise Java Beans]可能的重複(http://stackoverflow.com/questions/2351220/stateless-and-stateful-enterprise-java-beans) – 2010-08-28 02:24:58