у меня есть 2 EJB, реализующих один и тот же интерфейс, у меня есть классификатор:
@java.lang.annotation.Documented
@java.lang.annotation.Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE,ElementType.FIELD})
@javax.inject.Qualifier
public @interface PayEseConnector {
}
а также
@java.lang.annotation.Documented
@java.lang.annotation.Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE,ElementType.FIELD})
@javax.inject.Qualifier
public @interface MetrilioConnector {
}
пример EJB:
@Stateless
@PayEseConnector
@Local
public class PayEseServiceImpl implements IConnectorService {
or
@Stateless
@MetrilioConnector
@Local
public class MetrilioServiceImpl implements IConnectorService {
я ввожу один из них в класс:
открытый класс TestResource {
@MetrilioConnector
@Inject
IConnectorService metrilioService;
и моя ошибка:
Причина: org.jboss.weld.exceptions.DeploymentException: WELD-001408: Неудовлетворенные зависимости для типа IConnectorService с квалификаторами @MetrilioConnector в точке внедрения [UnbackedAnnotatedField] @MetrilioConnector @Inject com.real.hr.rest.TestResource.metrilioService в com. real.hr.rest.TestResource.metrilioService(TestResource.java:0) WELD-001475: Следующие bean-компоненты совпадают по типу, но ни один из них не имеет совпадающих квалификаторов: — Session bean [класс com.real.hr.services.MetrilioServiceImpl с квалификаторами [ @MetrilioConnector @Any]; локальные интерфейсы: [IConnectorService], - Session bean [класс com.real.hr.services.PayEseServiceImpl с квалификаторами [@PayEseConnector @Any]; локальные интерфейсы [IConnectorService]
что я делаю не так?, с одним @Qualifier все работает