JBoss проти Tomcat знову [закрито]


138

Здається, це вікове запитання (що це :)), який сервер краще між Tomcat та JBoss, але я ще не знайшов достатньо гарної відповіді, щоб вирішити свою проблему.

Я знаю, що Tomcat є лише сервлет-двигуном, і JBoss пропонує набагато більше функцій поза коробкою, але те, що я не розумію, це чому Tomcat краще використовувати в деяких ситуаціях, ніж jboss. Десь я читав, що JBoss має підключається архітектуру, і якщо потрібно, ви можете відключити функції JBoss, щоб зробити її по суті контейнером сервлетів tomcat. Якщо це так, то чи не краще це зробити замість того, щоб використовувати Tomcat, щоб залишити можливості для підключення речей назад.

Ще одне пояснення, яке я вважаю на користь Tomcat, - це те, що він легкий, це означає, що менша потреба в пам'яті або це також дозволяє швидше реагувати. Знову ж таки, мені потрібно знати, що компоненти jboss не завантажуватимуться відповідно до вимог, тобто якщо я використовую лише сервлети, тоді jboss не пропустить інші функції та автоматично стане легким.

По суті, моя програма не має жодних функцій Java EE, але «легкі» аргументи на користь Tomcat не здаються достатньо переконливими через вищезазначені причини.

Будь ласка, допоможіть.

Редагувати: Ми нарешті тоді вирішили використовувати tomcat і використовуємо його вже більше 6 місяців із великою простотою використання. Infact ми знайшли деяке практичне використання, коли ми могли дуже легко запустити кілька екземплярів tomcat на одній і тій же серверній машині для різних розробників, те ж саме може бути дуже складно з jboss.

Я виявив, що tomcat не потребує клопоту в нашій роботі, тому може бути правильним вибором, коли ви не використовуєте багато функцій Java EE. PS: Будь ласка, зауважте, що ми все ще використовуємо весну та сплячку разом з Tomcat


1
Так, JBoss не інтегрується з Tomcat?
Наві

4
@Navi: Не дуже. Він містить роздвоєну версію кодової бази Tomcat, але вона розбіжна зовсім небагато.
скафман

1
Простий веб-додаток без функцій j2ee повинен легко розгортатися на будь-якому сумісному контейнері сервлетів. Враховуючи це, не повинно мати великого значення, який саме ви використовуєте в передній частині. Я б почав з найпростішого розгортання (Tomcat і Jetty і раніше мені добре служили).
Джоель

3
FYI, наприкінці 2011 року Tomcat отримав сертифікацію JavaEE 6 як TomEE, щоб відповісти на це вікове запитання.
Девід Блевінс

1
закрите запитання з приблизно 150K переглядами, 125 оновленими повідомленнями та 0 обмеженими відгуками? !! Я знаю, що це правила, але мушу сказати, що такі правила потрібно трохи змінити.
Мухаммед Рефаат

Відповіді:


132

По-перше, факти не є кращими . Як ви вже згадували, Tomcat надає контейнер сервлетів, який підтримує специфікацію сервлетів (Tomcat 7 підтримує Servlet 3.0). JBoss AS, "повний" сервер додатків, підтримує Java EE 6 (включаючи Servlet 3.0) в його поточній версії.

Tomcat досить легкий, і якщо вам потрібні певні функції Java EE за межами API сервлетів, ви можете легко покращити Tomcat, надавши необхідні бібліотеки як частину вашої програми. Наприклад, якщо вам потрібні функції JPA, ви можете включити сплячий режим або OpenEJB, і JPA працює майже поза коробкою.

Як вирішити, використовувати Tomcat або Java EEсервер додатків із повним стеком :

Розпочинаючи свій проект, ви повинні мати уявлення про те, що він вимагає. Якщо ви перебуваєте у великому корпоративному середовищі, JBoss (або будь-який інший сервер Java EE) може бути правильним вибором, оскільки він забезпечує вбудовану підтримку, наприклад:

  1. JMS-повідомлення для асинхронної інтеграції
  2. Двигун веб-служб (JAX-WS та / або JAX-RS)
  3. Можливості управління на зразок JMX та сценарій управління інтерфейсом
  4. Розширена безпека, наприклад інтеграція поза виробництвом із сторонніми каталогами
  5. Файл EAR замість підтримки "лише" WAR-файлу
  6. всі інші "чудові" функції Java EE, які я не можу пригадати :-)

На мою думку, Tomcat дуже добре підходить, якщо мова йде про веб-додатки, орієнтовані на користувачів. Якщо інтеграція із заднім числом починає грати, слід розглядати (принаймні) сервер додатків Java EE. І останнє, але не менш важливе значення, міграція ВІН, розробленої для Tomcat до JBoss, повинна бути вправою на 1 день.

По-друге, ви також повинні врахувати використання у вашому оточенні. У випадку, якщо ваша організація вже працює, наприклад, 1000 екземплярів JBoss, ви завжди можете поправити це незалежно від конкретних вимог (врахуйте такі аспекти, як вартість операцій або підвищення кваліфікації). Звичайно, це стосується навпаки.

мій 2 цент


13

Погляньте на TOMEE

У ньому є всі функції, необхідні для створення повноцінного додатка Java EE.


7

Я, безумовно, дивлюсь на TomEE, оскільки ідея полягає в тому, щоб Tomcat приніс за собою відсутність усієї інтеграції JavaEE 6 за замовчуванням. Це свого роду дуже хороший компроміс


6

Строго кажучи; Без функцій Java EE вашому додатку навряд чи потрібен додаток ;-)

Як і інші вказували, JBoss має (більш-менш) повний стек Java EE, а Tomcat - лише веб-контейнер. JBoss може бути налаштований на функцію веб-контейнера, тоді він буде просто тонкою обгорткою навколо включеного веб-контейнера tomcat. Таким чином у вас може бути майже такий же легкий JBoss, який насправді був би просто тонкою обгорткою навколо Tomcat. Це було б майже як lightweigth.

Якщо вам не знадобиться жодна з додатків, яку може запропонувати JBoss, перейдіть до тієї, яка вам найбільше комфортна. Що найпростіше налаштувати та підтримувати для вас?


1
наскільки складно користуватися веб-сервісами та jmx з tomcat, можете, будь ласка, надати кілька хороших посилань / посилань
Ashish

2

Я також читав, що для деяких серверів один, наприклад, потребує лише коментувати стійкість контексту, але на деяких серверах введення слід робити вручну.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.