i 2 haben gleiche EJB-Schnittstelle implementiert, habe ich einige Qualifier:multiple @Qualifier EJB Injektion
@java.lang.annotation.Documented
@java.lang.annotation.Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE,ElementType.FIELD})
@javax.inject.Qualifier
public @interface PayEseConnector {
}
und
@java.lang.annotation.Documented
@java.lang.annotation.Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE,ElementType.FIELD})
@javax.inject.Qualifier
public @interface MetrilioConnector {
}
Beispiel für EJB:
@Stateless
@PayEseConnector
@Local
public class PayEseServiceImpl implements IConnectorService {
oder
@Stateless
@MetrilioConnector
@Local
public class MetrilioServiceImpl implements IConnectorService {
i injizieren einer von denen in einer Klasse:
public class TestResource {
@MetrilioConnector
@Inject
IConnectorService metrilioService;
und meine Fehler:
Verursacht durch: org.jboss.weld.exceptions.DeploymentException: Schweiss- 001408: Unbefriedigend Abhängigkeiten für Typ IConnectorService mit Qualifier @MetrilioConnector an der Injektionsstelle [UnbackedAnnotatedField] @MetrilioConnector @Inject com.real.hr.rest.TestResource.metrilioService bei com.real.hr.rest.TestResource.metrilioServ ice (TestResource.java.com) WELD-001475: Die folgenden Beans entsprechen dem Typ, aber keine haben übereinstimmende Qualifier: - Session-Bean [Klasse com.real.hr.services.MetrilioServiceImpl mit Qualifiern [@MetrilioConnector @Any]; lokale Schnittstellen sind [IConnectorService], - Session-Bean [Klasse com.real.hr.services.PayEseServiceImpl mit Qualifiern [@ PayEseConnector @Any]; lokale Schnittstellen [IConnectorService]
, was ich falsch tue ?, mit einem @Qualifier es funktioniert