Наконец я узнал, почему я получаю это исключение
Я использовал аннотацию @EJB для внедрения bean-компонента без состояния в другой bean-компонент с именем без имени UserBean со следующим кодом
@Stateless(name="UserBean")
@EJB(name="app/SecurityService",
beanInterface=SecurityServiceLocal.class)
public class UserBean implements UserRemote{
}
Если вы проверяете детали внедрения, я внедрял SecurityServiceLocal, который был реализован двумя классами bean-классов без сохранения состояния с именем SercurityServiceBean и SecurityServiceEnhaBean. Таким образом, контейнер находится в состоянии неоднозначности, чтобы решить, в какой бин внедрить, так как оба реализуют один и тот же интерфейс.
Эту проблему можно решить, указав дополнительную информацию, например beanName значение свойства в аннотации @EJB. Там вы должны указать, какой класс bean-компонента без сохранения состояния необходимо внедрить, используя имя bean-компонента (объявленное на этом уровне bean (или) в ejb-jar.xml). проверьте код, чтобы определить изменение в отображении впрыска
@Stateless(name="UserBean")
@EJB(name="app/SecurityService",
beanInterface=SecurityServiceLocal.class,
beanName="SecurityServiceEnha")
public class UserBean implements UserRemote{
}