Неудовлетворенные зависимости для типа [***‹T›] с квалификаторами [@Default] в точке внедрения [[поле] @Inject

При развертывании на сервере jboss arquilian у меня возникает следующая проблема (которой, похоже, нет, когда я развертываю свой локальный сервер jboss

org.jboss.weld.exceptions.DeploymentException: WELD-001408 Неудовлетворенные зависимости для типа [CarPolicyServiceWithContext] с квалификаторами [@Default] в точке внедрения [[поле] @Inject com.athlon.thrift.web.utils.MSFOTContextUtils.carPolicyService]

Инъекция

@ApplicationScoped
public class MSFOTContextUtils {

    @Inject
    Logger logger;

    @Inject
    CarPolicyServiceWithContext carPolicyService;

Провайдер

@ApplicationScoped
public class ServiceProvider {

    @Inject
    @Any
    private Instance<CarPolicyServiceWithContext> carPolicyServices;



    private static final String COUNTRY = "NL";
    private static final Logger LOGGER = LoggerFactory.getLogger(ServiceProvider.class);

     @Produces
    public CarPolicyServiceWithContext getCarPolicyService() {
        Instance<CarPolicyServiceWithContext> found = carPolicyServices.select(
                new CountryQualifier(COUNTRY));
        LOGGER.info("CarPolicyServiceWithContext loaded"+found.toString());
        return found.get();
    }

    public static class CountryQualifier
            extends AnnotationLiteral<Country>
            implements Country {
        private String value;

        public CountryQualifier(String value) {
            this.value = value;
        }

        public String value() {
            return value;
        }
    }
}

Бин

@Country("NL")
@ApplicationScoped
public class CarPolicyNetherlandsService implements CarPolicyServiceWithContext<MSFOTContext> {

Я добавил некоторые записи в провайдере, но я не вижу их в журналах arquillian jboss...

Спасибо !


person user6761124    schedule 27.07.2017    source источник
comment
Вы пытались создать военный файл и развернуть его? Мне кажется, что это скорее проблема с конфигурацией CDI, чем с аркиллианской проблемой.   -  person lordofthejars    schedule 28.07.2017
comment
CDI очень типобезопасен, у вас есть универсальный интерфейс. Я не уверен, какое отношение он имеет к вашим вариантам использования, но это означает, что вы должны ссылаться на него как CarPolicyServiceWithContext< MSFOTContext>   -  person John Ament    schedule 28.07.2017
comment
Вы уверены, что Provider находится в ваших Arquillian Deployments? Это в вашей обычной WAR, или вы добавили эту версию для тестов поддержки?   -  person aschoerk    schedule 29.07.2017


Ответы (1)


в архиве @Deployment почему-то в архив не добавился класс ServiceProvider выше.

person user6761124    schedule 04.08.2017