Вот ситуация.
У меня есть следующие интерфейсы:
public interface Parent { }
public interface ChildOne extends Parent { }
public interface ChildTwo extends Parent { }
и 2 EJBs:
@Stateless
public class FirstBean implements ChildOne { }
@Stateless
public class SecondBean implements ChildTwo { }
И также этот CDI Bean:
@Named
@SessionScoped
public class TestController implements Serializable {
@Inject
private FirstBean firstBean;
@Inject
private SecondBean secondBean;
}
При попытке развернуть это на Glassfish 3.1 я получаю следующее исключение:
Exception while loading the app : WELD-001408 Unsatisfied dependencies for type [FirstBean]
with qualifiers [@Default] at injection point [[field] @Inject private com.test.controllers.TestController.firstBean]
org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [FirstBean]
with qualifiers [@Default] at injection point [[field] @Inject private com.test.controllers.TestController.firstBean]
at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:305)
Когда оба EJB реализуют интерфейс Parent
, исключение одно и то же.
Кроме того, я попытался добавить квалификаторы, но это ничего не изменило.