没有使用EJB3,但是通过阅读教程,EJB3看起来主要用于通过JPA操纵数据库中的数据(当然,它包含其他业务逻辑)。只是好奇,如果没有数据库,是否仍然有利于使用EJB3,或者只是增加了应用程序的复杂性? POJO会成为更好的实施选择吗?
答案 0 :(得分:4)
EJB优势的很大一部分来自事务和持久性。
但即使没有它们,您也可以从EJB中受益。它可以为您提供经过验证的集群和平衡模型。它可以为您提供声明性安全性。它可以为您提供MDB,这是一种方便的方式来监听JMS队列/主题和计时器。
以上所有内容都可以使用第三方库完成,例如Spring。虽然EJB非常一致,但是为了获得集群和安全性,您可能需要将两种产品组合在一起,并且不能保证它们能够很好地协同工作并且不需要太多粘合剂。
答案 1 :(得分:2)
EJB是部署在管理生命周期,线程和其他服务的应用服务器上的事务性分布式组件。持久性只是一种类型的EJB。即使您不想使用实体bean,您仍然可能会发现无状态,有状态或消息EJB很有用。
据说,您可以创建有状态,无状态,持久性或消息驱动的POJO组件。你不需要EJB;像Spring这样的东西可以是一个很好的选择。