2008-11-29 8 views

Répondre

11

Voici quite an old comparison. A ce titre, les capacités de chaque serveur se sont sans doute améliorées.

Edit: Voici a current comparison.

Les deux sont plus qu'assez stable pour une utilisation de production bien. Cela va vraiment descendre à des fonctionnalités.

+5

Votre « comparaison actuelle » est désormais obsolète. [Nouvelle page.] (Http://wikis.sun.com/display/glassfish/GlassFishVsTomcat) [Encore plus récent] (http://www.oracle.com/us/products/middleware/application-server/glassfish- for-tomcat-users-wp-073699.pdf) (avertissement, lien PDF). –

24

Ils ne sont pas vraiment comparables.

Apache Tomcat n'est pas un serveur J2EE. C'est simplement un conteneur de servlet pour les applications Web. Rien de plus. Si vous avez besoin d'implémentations d'API J2EE, vous devez les prendre ailleurs. Par exemple en utilisant le serveur Apache Geronimo qui utilise Tomcat comme conteneur, ou en récupérant les fichiers JAR de Glassfish. Glassfish est un serveur d'applications Java complet avec une implémentation pour les API telles que JPA, EJB et plus encore. Glassfish contient un moteur de servlet initialement utilisé par Tomcat, mais ils l'ont amélioré (je ne sais pas exactement quoi). Les serveurs glassfish plus récents utilisent un autre conteneur utilisant grizzly qui utilise l'API NIO pour les entrées/sorties et s'adapte très bien. Autant que je sache, le moteur Glassfish Servlet est plus performant. Ici, j'ai trouvé une référence agréable (il est un peu vieux cependant):

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

+1

Je pense que vous utiliseriez Apache Geronimo si vous vouliez Tomcat avec une pile J2EE complète. – Powerlord

+0

ouais vient de découvrir Geronimo. agréable :) –

3

question Big est: pourquoi? De quoi pensez-vous que Glassfish vous fournira par-dessus Tomcat ou Jetty? Les utilitaires de gestion peut-être?

La plupart des choses que vous voulez au-delà du conteneur de servlet de base sont facilement enfichables.

Donc, même si Glassfish est bien tel qu'il est, il ne sert à rien de bouger "juste parce que". La plupart des services de production que j'ai créés sont sur des anciens conteneurs de servlets, n'utilisant aucune des fonctionnalités spécifiques à l'implémentation.