我认为这取决于你所谈论的EJB的版本.让我们讨论仅有的两个相关(IMO)版本.
遗留系统中的某些人可能仍会使用EJB 2.1.它们确实最有用作RPC抽象.他们还提供了一个基本的ORM(对象 - 关系映射)系统.正如您所提到的,提供了事务支持.因此,如果您要构建一个您希望与远程系统通信的系统,传输面向对象的数据并以事务方式执行,您可能会发现EJB值得付出努力.否则,我会说远离.
但是,EJB 3.0得到了很大的改进.它具有以前版本的所有功能,但以更直接的方式进行.它还提供了一个相当简单的Inversion-Of-Control框架,与Spring不同,它是一个相当不错的ORM形式的JPA(Java Persistence API.)我使用过EJB 3.0并且实际上很喜欢它.您可以像使用Spring一样争论EJB 3.0的使用,此外它还有一些更高级或企业级的功能.
嗯,这实际上取决于我们正在讨论的是哪些 EJB。我想说,即使现在,MDB 仍然有用。对于实体 bean 和会话 bean,您肯定可以找到更好的方法。也许我仍然喜欢 EJB 的一项功能是可扩展性。如果需要,您可以使用“远程”选项将 EJB 部署到不同的服务器。然而,我认为这并不是真正必要的,而且我只见过一个大型项目,它确实很有用。