Упаковать ли сессионный компонент без сохранения состояния в файл war или файл ear для развертывания?
Ни то, ни другое.EJB-файлы принадлежат стандартным JAR-файлам (с META-INF / ejb-jar.xml).Чтобы использовать EJB из WAR, вы упаковываете эти два архива в EAR.
Поскольку это не очень удобно, с EJB 3.1 возможно упаковать EJB в WAR.
С EJB 3.1 / Java EE 6 вам больше не нужны файлы EAR, вы также можете поместить ваши сессионные компоненты непосредственно в файл WAR (как отдельный файл .class в WEB-INF / classes или внутри JAR-файла).файл в каталоге WEB-INF / lib файла WAR).См. Например http://java.sun.com/developer/technicalArticles/JavaEE/JavaEE6Overview_Part3.html#simpack
Сессионные компоненты без состояния (SLSB) упакованы в EJB-JAR (который является обычным файлом JAR), включая или не являясь необязательным дескриптором развертывания.EJB-JAR и WAR собраны в EAR для развертывания.
См. Эту статью Дебу Панда и Резза Рахманн (на самом деле это выдержка из превосходного EJB 3 в действии ):