Можно ли использовать JBoss SEAM в приложении, которое не является веб-приложением? - PullRequest
3 голосов
/ 11 августа 2011

Я имею в виду, возможно ли использовать шов в серверном приложении, которое просто предлагает функциональность через удаленные EJB, или веб-сервисы, или MDB, или что-то еще?(поэтому нет http сессии или запроса).Имеет ли смысл использовать Seam в таком сценарии?

Если да, то как он запускается?Поскольку в веб-контексте прослушиватель объявляется в файле "web.xml", в описанном сценарии, где запускается Seam?

Ответы [ 3 ]

4 голосов
/ 11 августа 2011

Нет, SEAM основан на JSP, для которого требуется механизм сервлета / JSP и веб-контейнер. Это не возможно и не желательно.

Создание сервисной серверной части, независимой от пользовательского интерфейса, действительно очень хорошая идея. Для этого вы можете использовать EJB или Hibernate. Но вам не нужен шов.

2 голосов
/ 12 августа 2011

Шов определенно не основан на JSP. Возможно, он ориентирован на JSF, но вы также можете использовать Wicket или GWT для своего пользовательского интерфейса.

Возможно использование только фонового приложения на основе Seam, и, на мой взгляд, это имеет смысл, если вы планируете использовать некоторые функции Seam, такие как безопасность, интеграция RESTEasy, возможность использования внедрения зависимостей в веб-сервисах и средствах MDB. ,

Что касается второго вопроса, а именно, как его запустить, в Seam2 вы должны определить фиктивный военный модуль с фильтром, необходимым для запуска и завершения работы. В Seam3, основанном на CDI, вы можете избежать этого.

1 голос
/ 12 августа 2011

В мире EJB 3 у вас уже есть хорошие механизмы внедрения зависимостей, управления транзакциями, EJB имеют четко определенный жизненный цикл.Поэтому я не думаю, что Seam чрезвычайно полезен для EJB, если вы не хотите смешивать EJB с веб-технологиями, такими как JSF, Wicket и т. Д. - в этом случае вы получаете выгоду от унифицированной компонентной модели Seam.У вас будут механизмы управления цифровыми ресурсами и ресурсами Seam, которые абстрагируют различия между подходами EJB, Servlet, JSF к этому.

Основная цель Seam - это бесшовная интеграция различных (в основном веб) технологий.

Этопочему я думаю, что это не имеет особого смысла, если вы используете одни EJB.

...