Вот ситуация.
У меня есть следующие интерфейсы:
public interface Parent { }
public interface ChildOne extends Parent { }
public interface ChildTwo extends Parent { }
и 2 EJB:
@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
, исключение будет таким же.
Также я пробовал добавлять квалификаторы, но это ничего не меняло.