Подтвердить что ты не робот

Java EE, которые не могут обрабатываться Tomcat

Tomcat реализует только веб-контейнер архитектуры Java Enterprise Edition. Напротив, например, GlassFish реализует полный стек Java EE. Этот обсуждался в stackoverflow.

Однако для начинающего Java EE, подобного мне, трудно представить, что нельзя сделать с Tomcat. Не могли бы вы привести несколько коротких примеров?

4b9b3361

Ответ 1

Из документации Apache tomcat:

Является ли tomcat сервером EJB? Могу ли я использовать EJB с tomcat?

Tomcat не является сервером EJB. Tomcat не является полноценным сервером J2EE. Tomcat - контейнер Servlet. Tomcat поддерживает те части спецификации J2EE, которые необходимы для сервлетов, например подмножество функций JNDI. Кроме того, вы можете подключиться к удаленным серверам J2EE или запустить tomcat, встроенный в полный сервер J2EE.

Некоторые из различий это означает...

  • Tomcat может обрабатывать только WAR, а не EAR
  • Tomcat не поддерживает любые типы EJB (например, сеанс Beans, MDB, таймеры и т.д.).
  • У Tomcat нет поддержки JPA.
  • Tomcat имеет ограниченную функциональность JNDI (не уверен в деталях здесь)

Tomcat можно использовать внутри консинера J2EE для использования в качестве веб-conatiner.

Tomcat имеет гораздо более легкий вес в отношении ресурсов и отпечатков ног файловой системы.

Если вам нужна функциональность J2EE, моим предложением было бы укусить пулю и использовать Glassfish, несмотря на сложность и требования к ресурсам (по сравнению с tomcat, Glassfish довольно прост в использовании по сравнению с другими, такими как Weblogic и JBoss). Если нет, придерживайтесь tomcat, это будет держать вещи простыми и быстрыми для вас. В любом случае, нетрудно снова переключить проектную упаковку и заменить контейнеры.

Ответ 2

Существует большое количество технологий/возможностей, которые являются частью Java EE. Некоторые из них доступны как часть загрузки Tomcat, другие могут быть добавлены в среду на основе Tomcat, а некоторые не могут быть добавлены в среду Tomcat.

Разверните банку EJB на Tomcat: Нет.

Вызовите методы удаленного запуска EJB в контейнере EJB: Да.

Разверните RAR на Tomcat: Нет.

Разверните EAR на Tomcat: Нет.

Разверните банку клиента приложения на Tomcat: Нет.

Объедините способ размещения приложения Java Web Startable, которое вызывает удаленные методы EJB, запущенные в контейнере EJB: Да

Использование JSF в качестве основы для вашего приложения: да, но вам нужно упаковать реализацию в приложение или установить его на свой сервер.

Создайте программу, которая использует JSR-88 для управления развертыванием военных файлов на Tomcat: Нет... не то, что это огромная потеря.

Используйте JJ-77 MEJB для управления сервером Tomcat: Нет... еще одна не огромная потеря.

Создавайте веб-приложения, предоставляющие веб-службы SOAP: Да... но вам нужно будет получить инструменты и библиотеки как часть отдельной загрузки и интегрировать их с вашим рабочим процессом, приложением и временем выполнения сервера.

Создайте веб-приложения, использующие JPA: Да... но вам понадобятся инструменты и библиотеки как часть отдельной загрузки и интегрируйте их с самим рабочим процессом, приложением и сервером.

Создавайте веб-приложения, которые используют CDI: Да... но вам понадобятся инструменты и библиотеки как часть отдельной загрузки и интегрируйте их со своим рабочим процессом, временем выполнения приложений и сервера.

Ответ 3

EJBs - сеанс бездействия Beans, сеанс с состоянием beans Сообщение, управляемое beans Таймеры EJB JPA (EJB3.0)

Это очень простой список. есть еще много функций, которые Tomcat не имеет.