JBoss vs Tomcat ponownie [zamknięty]

To wydaje się być stare pytanie (które jest:)) co serwer jest lepszy między Tomcat i JBoss, ale nie znalazłem jeszcze wystarczająco dobrej odpowiedzi, aby rozwiązać mój problem.

Wiem, że Tomcat jest tylko silnikiem servleta, a JBoss oferuje o wiele więcej funkcji po wyjęciu z pudełka, ale nie rozumiem, dlaczego Tomcat jest lepszy w niektórych sytuacjach niż jboss. Czytałem gdzieś, że JBoss ma architekturę pluggable i w razie potrzeby można odłączyć funkcje od Jbossa, aby uczynić go zasadniczo kontenerem serwletów tomcat. Jeśli tak jest, to czy nie lepiej jest to zrobić zamiast używać Tomcat, aby zostawić możliwość podłączenia rzeczy z powrotem.

Innym wyjaśnieniem, które uważam za korzystne dla Tomcat jest to, że jest lekki, Czy to oznacza mniejsze zapotrzebowanie na pamięć, czy też pozwala to również na szybszą reakcję. Ponownie, muszę wiedzieć, że JBoss nie załaduje komponentów zgodnie z wymaganiami tzn. jeśli używam tylko servletów, to jboss nie pominie reszty funkcje i stają się lekkie automatycznie.

Zasadniczo moja aplikacja nie posiada żadnych funkcji Java EE, ale "lekkie" argumenty przemawiające za Tomcat nie brzmią wystarczająco przekonująco z powyższych powodów.

Proszę o pomoc.

Edit: w końcu zdecydowaliśmy się na użycie Tomcata i używamy go już od ponad 6 miesięcy z wielką łatwością użytkowania. W rzeczywistości znaleźliśmy pewne praktyczne zastosowanie, w którym możemy bardzo łatwo uruchomić wiele tomcat instancje na tej samej maszynie serwerowej dla różnych programistów, to samo mogło być bardzo trudne z jboss.

Uznałem, że tomcat jest bezproblemowy dla naszej pracy i dlatego może być właściwym wyborem, gdy nie używasz zbyt wielu funkcji Java EE. PS: należy pamiętać, że nadal Używamy Spring i Hibernate z Tomcat

 137
Author: Arjan Tijms, 2011-01-12

5 answers

Najpierw fakty, ani nie są lepsze . Jak już wspomnieliście, Tomcat dostarcza kontener servletów, który obsługuje specyfikację Servletów (Tomcat 7 obsługuje Servlet 3.0). JBoss AS, "kompletny" serwer aplikacji obsługuje Java EE 6 (w tym Servlet 3.0) w jego obecnej wersji.

Tomcat jest dość lekki i w przypadku, gdy potrzebujesz pewnych funkcji Java EE poza API Servlet, możesz łatwo ulepszyć Tomcat, dostarczając wymagane biblioteki jako część swojego podanie. Na przykład, jeśli potrzebujesz funkcji JPA, możesz dołączyć Hibernate lub OpenEJB, a JPA działa prawie po wyjęciu z pudełka.

Jak zdecydować, czy używać Tomcat czy pełnego stosu Java EE serwer aplikacji:

Rozpoczynając projekt powinieneś mieć pojęcie, czego on wymaga. Jeśli jesteś w dużym środowisku korporacyjnym, JBoss (lub jakikolwiek inny serwer Java EE) może być właściwym wyborem, ponieważ zapewnia wbudowaną obsługę np.]}

  1. JMS messaging dla integracji asynchronicznej
  2. [16]} Web Services engine (JAX-WS i/lub JAX-RS)
  3. możliwości zarządzania, takie jak JMX i skryptowy interfejs administracyjny
  4. [16]}Zaawansowane zabezpieczenia, np. integracja z katalogami stron trzecich [17]}
  5. EAR file zamiast" only " WAR file support
  6. wszystkie inne "świetne" funkcje Java EE, których nie pamiętam: -)

moim zdaniem Tomcat jest bardzo dobry jeśli chodzi o web centric, user facing aplikacje. Jeśli integracja zaplecza wchodzi w grę, należy (przynajmniej) rozważyć serwer aplikacji Java EE. Wreszcie, migracja wojny opracowanej dla Tomcat do JBoss powinna być ćwiczeniem 1 dnia.

Po drugie, należy również wziąć pod uwagę użycie wewnątrz środowiska. Jeśli Twoja organizacja działa już powiedzmy 1000 instancji JBoss, zawsze możesz to zrobić niezależnie od konkretnych wymagań (weź pod uwagę takie aspekty, jak koszty operacji lub podnoszenie umiejętności). Z oczywiście, dotyczy to odwrotnie.

Mój 2 cent

 131
Author: home,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-30 18:57:37

Spójrz na TOMEE

Posiada wszystkie funkcje potrzebne do zbudowania kompletnej aplikacji Java EE.

 13
Author: Deb J,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-30 16:48:43

Z pewnością zwróciłbym uwagę na TomEE, ponieważ ideą jest utrzymanie Tomcat przynosząc wszystkie integracji JavaEE 6 brakuje domyślnie. To bardzo dobry kompromis

 7
Author: Romain Manni-Bucau,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-04 08:26:08

Ściśle mówiąc; bez funkcji Java EE Twoja aplikacja w ogóle nie potrzebuje appserver 'a; -)

Jak inni wskazywali, JBoss ma (mniej więcej) pełny stos Java EE, podczas gdy Tomcat jest tylko webcontainerem. JBoss może być skonfigurowany tak, aby służył tylko jako webcontainer, byłby to po prostu cienka owijka wokół dołączonego programu tomcat webcontainer. W ten sposób można mieć prawie tak lekki JBoss, który w rzeczywistości byłby po prostu cienką "owijką" wokół Tomcat. To byłoby prawie tak lightweigth.

Jeśli nie potrzebujesz żadnych dodatków, które JBoss ma do zaoferowania, wybierz ten, z którym najbardziej Ci odpowiada. Co jest najłatwiejsze w konfiguracji i utrzymaniu?

 6
Author: Jon Martin Solaas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-30 20:42:32

Przeczytałem też, że dla niektórych serwerów na przykład trzeba tylko adnotować konteksty trwałości, ale na niektórych serwerach iniekcja powinna być wykonana ręcznie.

 2
Author: Antti Tanskanen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-12 09:58:54