2008-11-29 16 views

Odpowiedz

11

Oto quite an old comparison. W związku z tym możliwości każdego serwera niewątpliwie uległy poprawie.

Edycja: Oto a current comparison.

Oba są więcej niż wystarczająco stabilne do użytku produkcyjnego chociaż. To naprawdę sprowadza się do funkcji.

+5

Twój „bieżący” jest również porównanie już nieaktualne. [Nowa strona.] (Http://wikis.sun.com/display/glassfish/GlassFishVsTomcat) [Jeszcze nowszy] (http://www.oracle.com/us/products/middleware/application-server/glassfish- for-tomcat-users-wp-073699.pdf) (ostrzeżenie, link do pliku PDF). –

24

Nie są one naprawdę porównywalne.

Serwer Apache Tomcat nie jest serwerem J2EE. To tylko kontener serwletu dla aplikacji internetowych. Nic więcej. Jeśli potrzebujesz implementacji API J2EE, musisz je pobrać z innych źródeł. Na przykład za pomocą serwera Apache Geronimo, który wykorzystuje Tomcat jako jego kontener lub pobierając pliki JAR z Glassfish.

Glassfish to kompletny serwer aplikacji Java z implementacją interfejsów API, takich jak JPA, EJB i inne. Glassfish zawiera silnik Servlet początkowo używany przez Tomcat, ale ulepszyli go (nie wiem co dokładnie). Nowsze serwery typu glassfish używają innego kontenera używającego grizzly, który używa interfejsu NIO API do wejścia/wyjścia i skaluje się całkiem dobrze. O ile wiem, Glassfish Servlet Engine jest bardziej wydajny. Tutaj znalazłem piękny wzorzec (to trochę stary choć):

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

+1

Myślę, że po prostu używałbyś Apache Geronimo, gdybyś chciał Tomcat z pełnym stosem J2EE. – Powerlord

+0

tak właśnie odkryłem Geronimo. miły :) –

3

Wielkie pytanie brzmi: dlaczego? Jak myślisz, czego potrzebujesz, aby Glassfish dostarczył ci Tomcat lub Jetty? Może narzędzia do zarządzania?

Większość rzeczy poza podstawowym kontenerem serwletów można łatwo podłączyć.

Podczas gdy Glassfish ma się dobrze, nie ma sensu ruszać się "tylko dlatego". Większość usług produkcyjnych, które zbudowałem, znajduje się na zwykłych starych kontenerach serwletów, nie wykorzystujących żadnych funkcji związanych z implementacją.