У меня есть проект Java EE. В модуле EJB У меня есть этот классStripes Injection Enricher: не удается подключиться к модулю ejb
@LocalBean
@Stateless
public class TestBean implements Test{
@PersistenceContext(unitName = "-----")
EntityManager em = null;
public Manager findByName(String name) {
Manager manager = em.createNamedQuery("Manager.findByName", Manager.class).
setParameter("name", name).getSingleResult();
return manager;
}
}
В веб-модуле У меня есть этот класс:
public abstract class BaseActionBean implements ActionBean {
private MyActionBeanContext context;
@EJB
public TestBean wrapper;
public MyActionBeanContext getContext() {
return context;
}
public void setContext(ActionBeanContext context) {
this.context = (MyActionBeanContext) context;
}
}
В файле web.xml я это:
<init-param>
<param-name>Extension.Packages</param-name>
<param-value>
com.samaxes.stripes.inject
</param-value>
</init-param>
Но когда я хочу использовать эту оболочку, я получил «null». стили версии 1.5.7 stripes-injection-enricher-1.0.3 (эти библиотеки добавлены в веб-модуль) Как я могу вставлять в свой модуль EJB? пожалуйста, помогите
Injection поддерживается только в определенных классах ЭЭ, которые создаются в контейнере. Каков конкретный класс BaseActionBean и как создается этот объект? Это должен быть сервлет, управляемый bean-компонент, CDI-компонент, другой EJB и т. Д., А не тот экземпляр, который вы создали напрямую. –
@bkail Что делать, если BaseActionBean расширит HttpServlet, он будет работать? –
@samaxes вы можете мне помочь, пожалуйста, –