Я некоторое время боролся за это.
Я пытаюсь подготовиться к EJB 3.0.Я использую JBoss 5.1.0 GA в качестве сервера приложений.Я начал с очень простого сессионного компонента без сохранения состояния с локальным интерфейсом и простого клиента jsp-сервлета, который вызывает метод сессионного компонента.Все это, пока я пытался использовать аннотацию @EJB
для внедрения сессионного компонента в класс сервлета.
public class SampleServlet extends HttpServlet {
@EJB
private PersonLocal person;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("In servlet");
response.getWriter().write("Person Name : "+person.getName());
System.out.println(person.getName());
}
}
Я использую JBoss 5.1.0 GA с по умолчанию конфигурации.(Я также пробовал с all конфигурацией)
Однако я использовал для получения нулевой ссылки на инъекцию сессионного компонента.Поработав в течение дня или около того, я наконец попробовал уродливый метод поиска JJDI EJB 2.x вместо @EJB
аннотации с конфигурацией для jndi, указанной в файле jndi.properties
, и она работала без каких-либо других изменений!
Теперь я попытался выяснить в документации JBoss, поддерживает ли JBoss 5.1.0 GA инъекцию с аннотацией @EJB
, но не смог найти конкретный ответ.Так может кто-нибудь сказать мне, так ли это?потому что я действительно предпочел бы аннотацию поиску JNDI (я имею в виду, кто не будет?).Я что-то упустил? ..
Вероятно, следовало бы поместить это на форумах JBoss, но .. Я пристрастился к этому месту; -)