У меня возникла проблема с созданием экземпляра сеансового компонента с сохранением состояния на 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