2011-03-20 36 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管理交易,并且只能作为最后的手段自行管理它们。