2011-03-20 70 views
0

我正在構建一個處理smses的javaee6應用程序。基本上通過smpp進入smist,進入JMS隊列,然後由我的應用程序處理。使用容器管理的EJB的優點和缺點

我使用的是glassfish v3,我決定使用EJB作爲業務邏輯。 這是我的申請

控制板Web應用程序的結構 - JSF 2, 商業邏輯 - EJB 3, 消息接收器 - JMS, 持久性提供商 - JPA(的EclipseLink)。

我從來沒有使用過EJB,我目前正在使用容器來管理我的會話bean。我只想知道是否有任何使用EJB(容器管理爲特定的)的缺點,而不僅僅是從JSF託管的bean中調用基本的Java類。

我正在構建的系統必須非常細膩。沒有太多複雜的業務邏輯。使用ejbs有點矯枉過正?

回答

0

容器mangaged EJB的缺點是,如果我們想在一個表中插入多個行,我們希望要麼全部行插入或無...

在這種情況下,我們不能回滾我們的事務。 ..

1

我看不出使用EJB的任何缺點。

對於EJB,您可以: - EJB 3是很容易發展 - 交易是由容器管理,分佈式事務 - 注射和IOC的依賴。 - 在羣集中分發您的bean - 您不瞭解基礎架構 - 身份驗證和授權(與JAAS的角色) - EJB具有可移植性和可伸縮性。你不會被捆綁供應商。 - 以及其他許多...

0

允許容器管理事務和EJB的主要優點是有一個非常強大的設置,可以調整每個bean和bean之間的事務級別。

在非常罕見的情況下,您是否想要自己實際管理交易?如果您真的在考慮自己管理交易,我會建議您首先嚐試重新構建您的解決方案,以便您可以允許Container管理交易,並且只能作爲最後的手段自行管理它們。