Я боролся за это какое-то время.@ EJB в JBoss 5.1.0 GA?
Я пытаюсь перейти на EJB 3.0. Я использую JBoss 5.1.0 GA в качестве моего сервера приложений. Я начал с очень простых сессионных bean-компонентов без состояния с локальным интерфейсом и простого клиента jsp-servlet, который вызывает метод session bean. Все это, пока я пытался использовать аннотацию @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 с конфигурацией по умолчанию . (Я также пробовал с все конфигурации)
Однако, я использовал, чтобы получить нулевую ссылку на сессию bean injection. После битвы в течение дня или около того я, наконец, попробовал уродливый метод поиска EJB 2.x JNDI вместо аннотации @EJB
с настройкой для jndi, указанной в файле jndi.properties
, и он работал без каких-либо изменений!
Теперь я попытался выяснить в JBoss документы о том, поддерживает ли JBoss 5.1.0 GA или не поддерживает инъекцию с аннотацией @EJB
, но не может найти конкретного ответа. Так может кто-нибудь сказать мне, не так ли? потому что я бы предпочел аннотацию к поиску JNDI (я имею в виду, кто не будет?). Я что-то упускаю..?
Вероятно, следовало бы поставить это на форумах JBoss, но .. Я пристрастился к этому месту ;-)
С какой конфигурацией сервера JBoss вы используете? 'all',' default', 'minimum' и т. д. – skaffman
Также, пожалуйста, покажите нам некоторый код, например. сервлет – skaffman
добавил код и конфигурацию сервера к вопросу. :) – Nikhil