我有一个基于J2EE的系统,目前正在Apache Tomcat上运行.我们正在讨论将生产服务器迁移到Glassfish服务器.
有人可以分享他们中的任何一个经历吗?
它们并不具有可比性.
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
这是一个相当古老的比较.因此,每个服务器的功能无疑都得到了改进.
编辑:这是当前的比较.
尽管如此,两者都足够稳定以供生产使用.它真的会归结为功能.