Обновление: Этот ответ может быть неправильным или устаревшим. Пожалуйста, смотрите комментарии для деталей.
Я переключился с @Inject
на @EJB
, потому что @EJB
допускает круговую инъекцию, тогда как @Inject
рвёт его.
Подробности: мне нужно было @PostConstruct
, чтобы вызвать метод @Asynchronous
, но это происходило бы синхронно. Единственный способ сделать асинхронный вызов состоял в том, чтобы исходный вызов вызвал метод другого компонента и заставил его вызвать метод исходного компонента. Для этого каждому бину требовалась ссылка на другой - таким образом, круговой. @Inject
не удалось выполнить эту задачу, тогда как @EJB
сработало.