不同容器之间的EJB性能优化

时间:2012-05-19 23:16:15

标签: java java-ee jboss glassfish ejb

EJB比纯粹优化的JDBC慢,但是http://www.javaperformancetuning.com/news/qotm047.shtml就是说

  

“简单的JDBC / EJB比较假设你的JDBC是   高效的EJB生成JDBC。这绝不是确定的,因为   容器供应商可以拥有专家的专业开发人员   产生最佳SQL。“

我如何知道JBoss,Glassfish,TomEE之间的优化逻辑?我怎么知道它实际上适合我的特定应用程序,因为泛型优化是一种过早的优化:我可以检查生成的代码吗?如果有必要,我可以覆盖优化吗?

2 个答案:

答案 0 :(得分:1)

是的,你可以看到生成的sql,是的,你通常可以使用自己的。大多数Java EE容器使用其他jpa库,如hibernate和eclipselink。这些库有办法显示他们正在使用的sql。他们也有使用自己的jpql或sql的方法。

答案 1 :(得分:1)

  

我如何知道JBoss,Glassfish,TomEE之间的优化逻辑?

查看生成的SQL,并检查源代码。另外,通过阅读文档。

  

我怎么知道它实际上适合我的特定应用,因为通用优化是一种过早的优化

这没有意义。 “过早优化”综合症是指您(程序员)在确定需要进行优化之前,花费时间在手中优化代码。相比之下,容器正在执行的优化是自动完成的,并且需要ZERO开发人员时间。

  

:我可以查看以某种方式生成的代码吗?

是。但是你如何做是容器特定的。阅读容器特定文档。

  

如果有必要,我可以覆盖优化吗?

我认为这也取决于容器。


你有没有注意到这个答案中有一个共同的模式?值得注意的是Tomcat不是EJB容器,并且没有“TomcatEE”这样的东西。