@ Вставить @Remote EJB в веб-приложение - PullRequest
0 голосов
/ 28 июня 2018

Возможно ли @Inject a @Remote EJB в веб-приложении? Я использую Glassfish 5 и развертываю EAR (EJB + WAR).

Когда я аннотирую интерфейс EJB с @Local CDI работает, с @Remote нет.
В чем может быть причина?

Кстати, использование @EJB вместо @Inject работает безупречно, но я готов решить проблему @Inject.

1 Ответ

0 голосов
/ 29 июня 2018

CDI не может разрешить удаленные компоненты EJB. Согласно спецификации 3.2.2

Неограниченный набор типов компонентов для сессионного компонента содержит все локальные интерфейсы бина и их суперинтерфейсы. Если сессия боб имеет вид без интерфейса, неограниченный набор бинов Тип сессионного компонента 41 содержит класс компонента и все суперклассы. В Кроме того, java.lang.Object - это тип компонента каждого сессионного компонента. Удаленные интерфейсы не включены в набор типов компонентов.

Что вы можете сделать, так это иметь полевого производителя для удаленных интерфейсов, если вы должны использовать инъекции CDI вместо @EJB

...