23

我有一个当前在 Apache Tomcat 上运行的基于 J2EE 的系统。我们正在讨论将我们的生产服务器迁移到 Glassfish 服务器。

有人可以与他们中的任何一个分享他们的经验吗?

4

4 回答 4

24

它们没有可比性。

Apache Tomcat 不是 J2EE 服务器。它只是 Web 应用程序的 Servlet 容器。而已。如果您需要 J2EE API 实现,则必须从其他地方获取。例如,通过使用使用 Tomcat 作为其容器的 Apache Geronimo 服务器,或者通过从 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

于 2008-11-29T18:20:35.543 回答
11

这是一个相当古老的比较。因此,每台服务器的能力无疑都得到了提升。

编辑:这是当前的比较。

不过,两者对于生产使用都足够稳定。这真的要归结为功能。

于 2008-11-29T18:20:19.880 回答
3

大问题是:为什么?您认为 Glassfish 将通过 Tomcat 或 Jetty 为您提供什么?也许是管理实用程序?

除了基本的 servlet 容器之外,您想要的大多数东西都很容易插入。

因此,虽然 Glassfish 还不错,但“仅仅因为”而移动是没有意义的。我构建的大多数生产服务都在普通的旧 servlet 容器上,不使用任何特定于实现的功能。

于 2009-04-14T18:16:40.197 回答
1

这可能有点过时,甚至可能有点偏颇,但它来自 Oracle。您可以跳到将玻璃鱼与汤姆猫进行比较的部分

http://java.sun.com/developer/technicalArticles/glassfish/GFandMySQL_Part1.html

于 2011-10-14T22:27:16.900 回答