我们正在开发一个包含大约400个数据库表的应用程 并且具有相同数量的EJB(All是本地接口,EJB是无状态的),并且一个EJB通过@EJB标记注入另一个EJB.
我怀疑的是,是否有更多的EJB对应用程序的性能有任何影响?
ewe*_*nli 10
配置和调整
您可能需要相应地调整系统大小.通常,每个EJB都有一个关联的池(但它是app.服务器特定的,我只有Glassfish经验).因此,如果您有400个不同的EJB,那么可能代表了大量的对象.但所有这些都可以调整.
本地EJB调用
关于EJB调用另一个,我做了一些测试.这是我得到的结果.
是时候调用一个执行循环的EJB,调用另一个帮助对象10'000,这个对象是:
我得出结论,如果EJB是本地的,那么EJB相互调用并不是性能问题.另请参阅使用POJO而不是EJB是否值得?.
部署和管理
EAR的部署时间还取决于EJB的数量(解析注释,部署描述符等).您可以进行一些测试以查看您的应用程序.服务器支持此类部署.
监控应用.有很多EJB可以很快变得复杂,具体取决于应用程序.服务器.在Glassfish中,JMX控制台和Web控制台无法真正扩展到应用程序.有很多EJB.例如,我们感兴趣的EJB需要在某个时间点的下拉列表中选择,这在有很多它们时不方便.
EJB/JPA和DAO
负责业务逻辑的SLSB应该是粗粒度的.您仍然可以使用细粒度的SLSB进行DAO.使用JPA,DAO现在非常精简并且主要包含JPA查询.如果可能的话,尝试减少DAO的数量并让一些DAO负责多个表可能仍然很有趣.看到JPA/EJB3杀死了DAO.
归档时间: |
|
查看次数: |
1945 次 |
最近记录: |