2011-05-04 77 views
0

沒有使用EJB3,但通過閱讀教程,EJB3看起來主要是通過JPA處理數據庫中的數據(當然,它包含其他業務邏輯)。只是好奇,如果沒有數據庫需求,使用EJB3還是有益的,或者它只是增加了應用程序的複雜性? POJO會是更好的實施選擇嗎?如果不需要數據庫,使用EJB3還是有好處

回答

4

EJB好處的很大一部分來自事務和持久性。

但即使沒有它們,您也可能從EJB中受益。它可以爲您提供經過驗證的集羣和平衡模型。它可以給你聲明式的安全。它可以爲您提供MDB,這是一種方便的方式來偵聽JMS隊列/主題和定時器。

以上所有可以使用第三方庫,如Spring。 EJB雖然高度一致,但要獲得例如集羣和安全性,您可能需要合併兩個產品,但不能保證它們能夠很好地協作並且不需要太多粘合劑。

+0

我正在看GlassfishV3,它實現了JEE6堆棧,它應該將東西粘合在一起。 – sarahTheButterFly 2011-05-04 01:02:46

+0

我不同意關於集羣和安全的部分。 Spring可以與JAAS集成,並且Tomcat可以提供集羣。 Spring應用程序通常部署在Java EE應用程序服務器上,因此它們爲EJB提供的所有服務也會歸入Spring POJO。 – duffymo 2011-05-04 01:39:28

+0

@duffymo您認爲EJB提供安全/集羣的方式是什麼?顯然,Spring/Tomcat是替代品,但這並不會使EJB功能集無效。 – 2011-05-04 05:38:54

2

EJB是部署在管理生命週期,線程和其他服務的應用程序服務器上的事務性分佈式組件。持久性只是一種類型的EJB。即使您不想使用實體bean,您仍然可能會發現無狀態,有狀態或消息EJB有用。

就是說,你可以創建有狀態的,無狀態的,持久的或消息驅動的POJO組件。您不需要EJB;像Spring這樣的東西可以是一個很好的選擇。

相關問題