Стой 2 боб не создан

Сначала для моего вопроса я использую Struts2 + Tiles2 + TopLink. НЕТ весны вообще.

Самый простой сценарий - это отображение списка сущностей на странице. Чтобы оптимизировать разрешение EntityManager в JPA, я хотел бы создать помощник (JPAResourceBean), который реализует ленивую загрузку менеджера сущностей. Для этого я собираюсь использовать объявление bean-компонента struts2:

<bean  name="myfactory" class="my.model.JPAResourceBean" 
       scope="session" optional="false"/>

Почему бин не создается ни в сеансе? (Я использую s: свойство только для отладки)

...
<s:property value="#session.myfactory" default="buka.1"/>
...

ни в списке простых бобов:

...
<s:property value="#myfactory" default="buka.2"/>
...

Может быть, вторая часть вопроса - как разрешить этот компонент из кода Java?

1 ответ

Решение

Я нашел решение.

Дело в том, что для создания экземпляров bean-компонентов используется метод отложенной загрузки (разрешения по требованию), поэтому мой JPAResourceBean был успешно разрешен, когда я получил к нему доступ по следующему синтаксису:

ActionContext.getContext().getContainer().getInstance(JPAResourceBean.class);
Другие вопросы по тегам