2008-11-29 8 views

Antwort

11

Hier ist quite an old comparison. Daher haben sich die Fähigkeiten jedes Servers zweifellos verbessert.

Edit: obwohl hier a current comparison.

Beide sind mehr als stabil genug für den produktiven Einsatz. Es wird wirklich auf Features kommen.

+5

Ihr „Stromvergleich“ ist auch veraltet jetzt Tom Cat zum Vergleichen Glasfisch mit dem Abschnitt nach unten. [Neue Seite.] (Http://wikis.sun.com/display/glassfish/GlassFishVsTomcat) [Noch aktueller] (http://www.oracle.com/us/products/middleware/application-server/glassfish- for-tomcat-users-wp-073699.pdf) (Warnung, PDF-Link). –

24

Sie sind nicht wirklich vergleichbar.

Apache Tomcat ist kein J2EE-Server. Es ist lediglich ein Servlet-Container für Web-Anwendungen. Nichts mehr. Wenn Sie J2EE-API-Implementierungen benötigen, müssen Sie diese von woanders beziehen. Zum Beispiel mit dem Apache Geronimo Server, der Tomcat als Container verwendet, oder mit den JAR-Dateien von Glassfish.

Glassfish ist ein kompletter Java Application Server mit Implementierung für APIs wie JPA, EJBs und mehr. Glassfish enthält eine Servlet-Engine, die ursprünglich von Tomcat verwendet wurde, aber sie hat sie verbessert (weiß nicht genau was). Neuere Glassfish-Server verwenden einen anderen Container unter Verwendung von grizzly, der die NIO-API für Eingabe/Ausgabe verwendet und recht gut skaliert. Soweit ich weiß, ist die Glassfish Servlet Engine leistungsfähiger. Hier ich eine nette Benchmark gefunden habe (es ist ein bisschen alt aber):

http://weblogs.java.net/blog/sdo/archive/2007/05/how_to_test_con.html

+1

Ich würde denken, Sie würden nur Apache Geronimo verwenden, wenn Sie Tomcat mit einem vollen J2EE-Stack wollten. – Powerlord

+0

yeah gerade Geronimo entdeckt. nett :) –

3

große Frage ist: Warum? Was denken Sie, dass Glassfish Sie über Tomcat oder Jetty versorgen wird? Management-Utilities vielleicht?

Die meisten Dinge, die Sie über grundlegende Servlet-Container hinaus wollen, sind leicht steckbar.

Also während Glassfish in Ordnung ist, hat es keinen Sinn, "nur weil" zu bewegen. Die meisten Produktionsdienste, die ich erstellt habe, sind auf einfachen alten Servlet-Containern, die keine implementierungsspezifischen Funktionen verwenden.