JBoss 4.x не будет автоматически внедрять EJB в Servlets / JSP / POJO.Но он также не будет жаловаться на аннотации, он просто не будет работать во время выполнения, и объекты останутся нулевыми.Вы должны использовать поиск JNDI.
Из документов JBoss:
Поиск аннотаций EJB @EJB можно использовать в сервлетах и JSP, но, к сожалению, мы еще не обновили tomcat дляподдержать это.Кроме того, Tomcat работает со старым форматом XML, поэтому вы также не можете использовать XML.Итак, пока вы должны искать EJB через его глобальное имя JNDI.Это не соответствует требованиям, но если вы достаточно абстрагируетесь, все будет в порядке.
Пример:
public void init() throws ServletException
{
super.init();
try
{
InitialContext ctx = new InitialContext();
// J2EE 1.5 has not yet defined exact XML <ejb-ref> syntax for EJB3
CalculatorLocal calculator = (CalculatorLocal)ctx.lookup("tutorial/CalculatorBean/local");
setCalculator(calculator);
}
catch (NamingException e)
{
throw new RuntimeException(e);
}
}
Обязательно используйте имяВаш EAR как первый сегмент в имени, которое вы ищете (tutorial
в приведенном выше примере).
Ссылки: