Шов - EJB3 в веб-модуле / WAR?

Я пишу приложение с использованием Seam 2.2.x, которое будет развернуто на JBoss 5.1. У меня есть модуль EJB со всей бизнес-логикой и EJB. Однако я бы также хотел, чтобы в веб-модуле были сессионные EJB без статических данных, которые действовали бы как классы действий. Это возможно? Нужно ли мне выполнять какие-либо дополнительные настройки, чтобы это работало? У меня есть определенный интерфейс:

@Local
public interface ContentItemSearchAction extends Serializable {
     ...
}

... и класс реализации ...

@Name("contentItemSearchAction")
@AutoCreate
@Stateless
public class ContentItemSearchActionBean implements ContentItemSearchAction {
     ...
}

Однако, когда я пытаюсь получить доступ к EJB в одном из моих JSF-представлений, я получаю следующее исключение:

Caused by javax.naming.NameNotFoundException with message: "ContentItemSearchActionBean not bound" 

Кто-нибудь видел это раньше? Что мне не хватает? Почему EJB в моем модуле WAR не обрабатывается?


person Shadowman    schedule 06.08.2010    source источник


Ответы (1)


EJB не входят в файлы WAR. Они упакованы в JAR-файлы, которые попадают в EAR вместе с WAR.

EJB-компоненты не обязательно должны находиться в WAR, чтобы их можно было увидеть на вашем веб-уровне.

person duffymo    schedule 06.08.2010