Похоже, что это старый вопрос (который есть :)) о том, какой сервер лучше между Tomcat и JBoss, но я еще не нашел достаточно хорошего ответа, чтобы решить свою проблему.
Я знаю, что Tomcat - это всего лишь движок сервлетов, а JBoss предлагает гораздо больше функций из коробки, но я не могу понять, почему Tomcat лучше использовать в некоторых ситуациях, чем jboss. Я где-то читал, что JBoss имеет подключаемую архитектуру, и при необходимости вы можете отключить функции от JBoss, чтобы сделать его по существу контейнером сервлетов Tomcat. Если это так, то не лучше ли сделать это вместо Tomcat, чтобы оставить возможности для подключения вещей обратно.
Другое объяснение, которое я нахожу в пользу Tomcat, заключается в том, что он легкий, означает ли это меньшие требования к памяти или это также позволяет быстрее реагировать. Опять же, мне нужно знать, что jboss не будет загружать компоненты в соответствии с требованиями, т.е. если я использую только сервлеты, тогда jboss не пропустит остальные функции и не станет автоматически облегченным.
По сути, в моем приложении нет никаких функций Java EE, но «легковесные» аргументы в пользу Tomcat не кажутся достаточно убедительными из-за вышеупомянутых причин.
Пожалуйста помоги.
Изменить: мы наконец решили использовать tomcat, и мы используем его уже более 6 месяцев с большой простотой использования. Фактически, мы нашли практическое применение, когда мы могли очень легко запускать несколько экземпляров tomcat на одном сервере для разных разработчиков, то же самое могло быть очень сложно с jboss.
Я обнаружил, что tomcat не требует проблем в нашей работе и поэтому может быть правильным выбором, если вы не используете большую часть функций Java EE. PS: обратите внимание, что мы все еще используем Spring и Hibernate с Tomcat
Ответы:
Сначала факты, ни то, ни другое не лучше . Как вы уже упоминали, Tomcat предоставляет контейнер сервлетов, который поддерживает спецификацию сервлетов (Tomcat 7 поддерживает сервлет 3.0). JBoss AS, «полный» сервер приложений, поддерживает Java EE 6 (включая Servlet 3.0) в его текущей версии.
Tomcat довольно легкий, и если вам нужны определенные функции Java EE помимо Servlet API, вы можете легко улучшить Tomcat, предоставив необходимые библиотеки как часть вашего приложения. Например, если вам нужны функции JPA, вы можете включить Hibernate или OpenEJB, и JPA работает почти сразу же.
Как решить, использовать ли Tomcat или полный
Java EE
сервер приложений:Начиная свой проект, вы должны иметь представление о том, что ему нужно. Если вы находитесь в большой корпоративной среде, JBoss (или любой другой сервер Java EE) может быть правильным выбором, поскольку он обеспечивает встроенную поддержку, например:
На мой взгляд, Tomcat очень хорошо подходит для веб-ориентированных приложений, ориентированных на пользователя. Если вступает в игру внутренняя интеграция, следует (по крайней мере) рассмотреть возможность использования сервера приложений Java EE. И последнее, но не менее важное: миграция WAR, разработанного для Tomcat, на JBoss должна занять 1 день.
Во-вторых, вы также должны учитывать использование в вашей среде. Если в вашей организации уже работает, скажем, 1000 экземпляров JBoss, вы всегда можете использовать это, независимо от ваших конкретных требований (учитывайте такие аспекты, как стоимость операций или повышение квалификации). Конечно, это справедливо и наоборот.
мои 2 цента
источник
Взгляните на TOMEE
В нем есть все функции, необходимые для создания полноценного приложения Java EE.
источник
Я бы определенно посмотрел на TomEE, так как идея заключается в том, чтобы Tomcat не имел по умолчанию всей интеграции JavaEE 6. Это своего рода очень хороший компромисс
источник
Строго говоря; Без функций Java EE вашему приложению вообще не нужен сервер приложений ;-)
Как и другие, JBoss имеет (более или менее) полный стек Java EE, в то время как Tomcat является только веб-контейнером. JBoss можно настроить так, чтобы он служил только веб-контейнером, тогда он был бы просто тонкой оболочкой для включенного веб-контейнера tomcat. Таким образом, у вас может быть почти такой же легкий JBoss, который на самом деле будет просто тонкой «оберткой» вокруг Tomcat. Это было бы почти так же легко.
Если вам не нужны какие-либо дополнения, которые предлагает JBoss, выберите то, которое вам удобнее всего. Что проще всего настроить и поддерживать?
источник
Я также читал, что для некоторых серверов, например, требуется только аннотировать контексты сохранения, но на некоторых серверах внедрение должно выполняться вручную.
источник