Java 删除EJB会提高项目的性能吗?

Java 删除EJB会提高项目的性能吗?,java,jakarta-ee,ejb,dao,requesthandler,Java,Jakarta Ee,Ejb,Dao,Requesthandler,我一直在一个使用EJB的政府项目中工作。我在部署EJB时发现了一些服务器问题。在我的项目中工作的人考虑过从RequestHandler和DAO之间删除ejb,并直接从RequestHandler调用DAO方法 我对这个问题的观点是,我们怎么能考虑从项目中删除EJB,因为项目本身的基本框架是EJB 请告知在部署时提高性能所需的正确解决方案,并告知提高速度和性能的其他方法。检查您是在进行远程EJB调用还是本地EJB调用。 在项目中执行远程调用可能会导致性能问题(如果您在逻辑上在本地工作)。我曾经在几

我一直在一个使用EJB的政府项目中工作。我在部署EJB时发现了一些服务器问题。在我的项目中工作的人考虑过从RequestHandler和DAO之间删除ejb,并直接从RequestHandler调用DAO方法

我对这个问题的观点是,我们怎么能考虑从项目中删除EJB,因为项目本身的基本框架是EJB


请告知在部署时提高性能所需的正确解决方案,并告知提高速度和性能的其他方法。

检查您是在进行远程EJB调用还是本地EJB调用。
在项目中执行远程调用可能会导致性能问题(如果您在逻辑上在本地工作)。

我曾经在几个项目中工作过,在这些项目中删除EJB可以显著提高性能


对我来说,使用EJB是为了提高生产效率和解决方案的质量,而不是担心性能。通常性能不是什么大问题,但如果是的话,你可以用硬件来解决,然后使用云/分布式解决方案,这比以前要便宜。i、 它可能比花更多的时间开发更便宜。

如果没有提供信息,回答这个问题是不可能的。但是,如果您不将ejb服务用于任何事情,那么您也可以将其丢弃。首先,通过ejb调用dao的原因是利用CMT,所以如果放弃ejb,则需要通过其他方式处理事务


一般来说,我的建议是,在开始寻找答案之前,试着弄清楚问题到底是什么。

取决于您所谈论的EJB

会话bean:是否拥有它们几乎不会对性能产生任何影响

实体bean:实体bean可能对性能产生重大影响。我会在创建、删除或更新调用(CRUD)中处理复杂事务的情况下使用它们。在我刚刚调用一个查询(CRUD)返回1000条记录的情况下,我可能会切换到纯JDBC

现在很多JPA/EJB容器都非常智能,因此它们可能可以将性能问题委托给数据库级别

例如:如果我返回10000个customer对象,并且每个customer都有多个地址,那么我可以在EJB层中加入customer和address对象。如果EJB容器足够智能,这可能与在数据库级别创建联接并将数据作为视图返回一样快