Java EE, которые не могут обрабатываться Tomcat
Tomcat реализует только веб-контейнер архитектуры Java Enterprise Edition. Напротив, например, GlassFish реализует полный стек Java EE. Этот обсуждался в stackoverflow.
Однако для начинающего Java EE, подобного мне, трудно представить, что нельзя сделать с Tomcat. Не могли бы вы привести несколько коротких примеров?
Ответы
Ответ 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 не имеет.