2013-06-14 5 views
2

Я развернул ухо на websphere 8.5.CDI @Inject throws NullPointerException на Websphere 8.5

приложение составлено из банка ejb и webapp (Spring MVC).

Вот мой EJB:

@Stateless 
    public class DiscrepanciesServiceImpl implements DiscrepanciesService { 

@Inject 
private DiscrepancyDao discrepancyDao; 

public DiscrepanciesServiceImpl(){}; 

public List<Discrepancy> viewDiscrepancies() { 

      return discrepancyDao.findAll(); 
} 

}

discrepancyDao представляет собой интерфейс, который расширяет интерфейс дженериков следующим образом:

public interface DiscrepancyDao extends _GenericDao<Discrepancy> { 

}

осуществляется DiscrepancyDaoImpl, как следовать :

 @Named("discrepancyDao") 
     public class DiscrepancyDaoImpl extends _GenericDaoImpl<Discrepancy> implements DiscrepancyDao { } 

и когда я призываю viewDiscrepancies() я получаю NullPointerException на discrepancyDao (впрыскиваемого КДИ)

Я развертывается на WAS 8,5 и мой пуст beans.xml находится в папке META-INF. Во время развертывания консоль was работает нормально, без ошибок. Заранее благодарим за ответы. С уважением Fabio

ответ

1

В WAR, beans.xml входит в WEB-INF.

+0

Нет, он находится внутри мета-inf баночки ejb. –

+0

Все ли классы, о которых идет речь в банке EJB, или один из них в WAR? IIRC, настройка Bean Archive в WAS немного сложна, и вам, вероятно, понадобится включить beans.xml в оба места, чтобы заставить все работать. – LightGuard

Смежные вопросы