使用容器管理EJB的优点和缺点

时间:2011-03-20 15:45:05

标签: ejb-3.0 ejb java-ee-6

我正在构建一个处理smses的javaee6应用程序。基本上是通过smpp进入JMS队列,然后由我的应用程序处理。

我正在使用glassfish v3,我决定将EJB用于业务逻辑。 这是我的应用程序的结构

仪表板Web应用程序 - JSF 2, 业务逻辑 - EJB 3, 消息接收者 - JMS, 持久性提供者 - JPA(eclipselink)。

我之前从未使用过EJB,我目前正在使用容器来管理我的Session bean。我只想知道使用EJB(容器管理特定)是否存在任何缺点,而不是仅仅从JSF Managed bean调用基本java类。

我正在建设的系统必须非常可靠。没有太多复杂的业务逻辑。使用ejbs是否有点过分了?

3 个答案:

答案 0 :(得分:1)

我认为使用EJB没有任何不利之处。

使用EJB,您可以: - EJB 3非常容易开发 - 交易由容器,分布式交易管理 - 注入和IoC的依赖性。 - 在群集中分发bean - 你不了解基础设施 - 身份验证和授权(与JAAS的角色) - EJB是可移植的和可伸缩的。你不会被捆绑供应商。 - 和其他许多人......

答案 1 :(得分:0)

允许Container管理事务和EJB的主要优点是具有非常强大的设置,允许调整每个bean和bean之间的事务级别。

在非常罕见的情况下,您是否希望自己实际管理交易。如果您真的考虑自己管理交易,我建议您首先尝试重新架构您的解决方案,以便允许Container管理交易,并且只作为最后的手段管理它们。

答案 2 :(得分:0)

容器管理EJB的缺点是,如果我们想在表中插入多行,并且我们想要插入所有行或者没有...

在这种情况下,我们无法回滚我们的交易...