Не удается преобразовать из @stateless в @stateful bean-компоненты

У меня возникла проблема с созданием экземпляра сеансового компонента с сохранением состояния на Glassfish3.1.

@ManagedBean (с областью действия сеанса) приложения JSF использовало интерфейс @Local сеансового компонента @Stateless, и все работало нормально.

Теперь мне пришлось преобразовать в bean-компонент @Stateful, и я получаю исключение, когда пытаюсь внедрить bean-компонент с отслеживанием состояния в управляемый bean-компонент.

Рассматриваемый код состоит из следующих 3 слоев:

@ManagedBean
@SessionScoped
public class ShopBean { 
    private @EJB ShopAdminInterface sa;
    ...
}

@Local
public interface ShopAdminInterface {
    .... some interfaces
}

@Stateful
public class ShopAdmin implements ShopAdminInterface {
    @EJB CoreClassEAO s;
    ... some implementation
}

CoreClassEAO представляет уровень доступа к базе данных и выглядит следующим образом:

@Stateful
public class CoreClassEAO {
    @PersistenceContext
    EntityManager em;
    .... access to my persistence interface
}

В последней версии, когда ShopAdmin и CoreClassEAO были bean-компонентами @Stateless, все работало отлично. Но теперь внедрение ShopAdminInterface вызывает у меня исключение.

Обновление: я сузил проблему: см. мой другой вопрос Внедрение компонента @Stateful в другой компонент @Stateful


person cssdata    schedule 13.11.2011    source источник