我們在無狀態EJB中有概念池。使用 池有什麼好處?我的理解是它可以節省創建對象的時間。 這是正確的嗎?如果是,創建對象或從現有池中獲取對象的性能是否存在顯着差異?這個池是否用於其他任何目的 比這個?在java或EJB中彙集概念?
2
A
回答
0
池可用於共享有限的資源(如數據庫連接)和重新使用創建和/或銷燬昂貴的對象。當與EJB結合使用時,它可以限制整個系統的負載,這在運行服務器時非常有用。根據類似的question的接受答案,它也有助於線程安全。
當注入各種資源和其他EJB(帶有註釋)時,創建(或設置)EJB會很昂貴,這在我的經驗中是常見的情況。然而,例如JBoss似乎重複這個過程,即使對於合併的EJB也是如此(請參閱Tom Anderson在類似question中的回答)。
如果池中的常見EJB經常被注入到其他EJB中,那麼當系統真正忙時,其他EJB將不得不等待公共EJB變爲可用。池中的普通EJB隨後充當共享有限資源。缺點是當普通的EJB不可用時(有時是由基礎設施中的混亂造成的),您可以在意外的地方得到超時異常(例如50秒後)。
我有一些JBoss服務器的經驗,它具有無狀態EJB的池機制。在該JBoss服務器中,有一個常用的EJB頻繁使用數據庫連接。如果大量工作同時進入系統,負載將會很高,但受到池化機制的限制。如果池化機制太多限制最大負載,則可以通過增加最大池大小來增加最大負載。
相關問題
- 1. Java集合(LinkedList的概念)
- 2. 概念在Java
- 3. Java ArrayList概念
- 4. Java Array概念
- 5. Java線程概念
- 6. Java RMI的概念
- 7. LinkedList java Iterator.next概念?
- 8. 瞭解Java中的概念
- 9. 理解繼承的概念在Java中
- 10. 在Java中實現Friend概念
- 11. 如何在EJB中實現事務概念
- 12. 重載多態概念或?
- 13. 概念:在Python
- 14. 概念在JavaScript
- 15. 核心Java基本概念
- 16. Java遞歸通用概念
- 17. Java的GC概念:CMSInitiatingOccupancyFraction
- 18. Java異常處理概念
- 19. Java的概念想法
- 20. Java的最新概念
- 21. Java的重載的概念
- 22. 序列化概念-java,c#,
- 23. Java OOP概念問題
- 24. 關於java-RMI概念
- 25. Java線程概念/演示
- 26. 概念
- 27. 概念
- 28. 概念
- 29. GUI的概念 - 集中式或分散式
- 30. rmi ejb中可重用登錄會話的概念調用