我有一个基于J2EE的系统,目前正在Apache Tomcat上运行。我们正在讨论将生产服务器迁移到Glassfish服务器。
有人可以与他们分享经验吗?
答案 0 :(得分:24)
它们并不具有可比性。
Apache Tomcat不是J2EE服务器。它只是Web应用程序的Servlet容器。而已。如果您需要J2EE API实现,则必须从其他地方获取这些实现。例如,使用使用Tomcat作为容器的Apache Geronimo Server,或者从Glassfish获取JAR文件。
Glassfish是一个完整的Java应用服务器,具有JPA,EJB等API的实现。 Glassfish包含最初由Tomcat使用的Servlet引擎,但是它们对它进行了改进(不知道到底是什么)。最近的glassfish服务器使用另一个使用grizzly
的容器,它使用NIO API进行输入/输出并且可以很好地扩展。据我所知,Glassfish Servlet Engine的性能更高。在这里,我找到了一个很好的基准(虽然它有点旧):
http://weblogs.java.net/blog/sdo/archive/2007/05/how_to_test_con.html
答案 1 :(得分:11)
答案 2 :(得分:3)
大问题是:为什么?您认为Glassfish将通过Tomcat或Jetty为您提供什么?管理实用程序可能吗?
除了基本的servlet容器之外,你想要的大多数东西都很容易插入。
因此,虽然Glassfish很好,但“仅仅因为”这一点没有任何意义。我构建的大多数生产服务都是在普通的旧servlet容器上,不使用任何特定于实现的功能。
答案 3 :(得分:1)
这可能有点过时,甚至可能有点偏颇,但它来自Oracle。您可以跳到比较Glass Fish和Tom Cat的部分
http://java.sun.com/developer/technicalArticles/glassfish/GFandMySQL_Part1.html