CDI @Inject выдает исключение NullPointerException в Websphere 8.5

Я развернул ухо на websphere 8.5.

приложение состоит из ejb jar и веб-приложения ( Spring MVC ).

Вот мой ejb:

    @Stateless
    public class DiscrepanciesServiceImpl implements DiscrepanciesService {

@Inject
private DiscrepancyDao discrepancyDao;

public DiscrepanciesServiceImpl(){};

public List<Discrepancy> viewDiscrepancies() {

            return discrepancyDao.findAll();
}

}

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

   public interface DiscrepancyDao extends _GenericDao<Discrepancy> {

}

реализовано DiscrepancyDaoImpl следующим образом:

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

и когда я вызываю viewDiscrepancies(), я получаю исключение nullpointerexception на расхождениеDao (введенное CDI)

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


person Fabio Marano    schedule 14.06.2013    source источник


Ответы (1)


В WAR файл beans.xml помещается в WEB-INF.

person LightGuard    schedule 14.06.2013
comment
Все рассматриваемые классы находятся в банке EJB или один из них находится в WAR? IIRC Настройка Bean Archive в WAS немного сложна, и вам, вероятно, потребуется включить beans.xml в оба места, чтобы все заработало. - person LightGuard; 15.06.2013