Я развернул ухо на 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
Нет, он находится внутри мета-inf баночки ejb. –
Все ли классы, о которых идет речь в банке EJB, или один из них в WAR? IIRC, настройка Bean Archive в WAS немного сложна, и вам, вероятно, понадобится включить beans.xml в оба места, чтобы заставить все работать. – LightGuard