2011-12-30 111 views
0

在EJB中,由於性能方面的原因,Bean應該是無狀態的,那麼應用程序服務器可以維護Bean池並將它們分配給請求客戶端。Spring的EJB無狀態bean

什麼是這種類型的豆的春季等效物?在Spring中,我們還有其他的bean範圍:單例,原型,請求,會話,全局會話。

+1

除非你有充分的理由使用默認範圍 - singleton,這確實是無狀態的 – NimChimpsky 2011-12-30 13:56:41

+0

「在EJB中,因爲性能方面的原因,bean應該是無狀態的」 - 我不會那樣說。如果您需要有狀態或單身豆,那麼這就是您需要的。但是,如果你不需要狀態 - 然後 - 使用有狀態的豆子是一種浪費,你應該堅持無狀態的豆子。 – 2011-12-30 19:37:52

+0

@ArjanTijms這就是我想說:) – mmatloka 2011-12-30 21:08:45

回答

2

每個Spring bean都應該作爲一個singleton被無狀態地實現。不要將狀態引入單例bean。彙集這種架構並沒有真正的好處。

+0

但是,如果沒有真正的共享優勢,爲什麼EJB有無狀態bean? – grep 2014-08-30 19:45:41

+0

因爲無狀態中的「狀態」是從客戶的角度來看的(例如,調用客戶端和它的服務bean之間沒有關係,並且每個調用可以由不同的bean服務)。無狀態bean可以容納其他可擴展的資源,例如DB連接。因此,從顯而易見的理由來看,它確實是值得的。 – Kousalik 2016-01-31 19:00:07