У меня проблема с инжекцией в сварочный CDI для картографов, использующих библиотеку mapstruct.Когда у меня только один картограф, все работает.После добавления второго преобразователя этот преобразователь создает исключение: Причина: org.jboss.weld.exceptions.DeploymentException: WELD-001408: Неудовлетворенные зависимости для типа InspectionTypeMapper с квалификаторами @ По умолчанию
Первый преобразователь (этот преобразователь работает)
@Mapper(componentModel = "cdi", unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface InstallationMapper {
Installation installationDtoToInstallation(InstallationDto installationDto);
InstallationDto installationToInstallationDto(Installation installation);
List<InstallationDto> installationsToInstallationsDtos(List<Installation> installations);
}
Второй модуль сопоставления (это не работает и создает исключение):
@Mapper(componentModel = "cdi", unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface InspectionTypeMapper {
InspectionType inspectionTypeDtoToInspectionType(InspectionTypeDto inspectionTypeDto);
InspectionTypeDto inspectionTypeToInspectionTypeDto(InspectionType inspectionType);
List<InspectionTypeDto> inspectionTypesToInspectionTypeDtos(List<InspectionType> inspectionTypes);
}
Моя установкаServiceImpl:
@RequestScoped
public class InstallationServiceImpl implements InstallationService {
@Inject
private InstallationRepository installationRepository;
@Inject
private InstallationMapper installationMapper;
@Override
public List<InstallationDto> getAllInstallations() {
List<Installation> installations = installationRepository.getAll();
List<InstallationDto> installationDtos = installationMapper.installationsToInstallationsDtos(installations);
return installationDtos;
}
}
My InspectionTypeServiceImpl:
@RequestScoped
public class InspectionTypeServiceImpl implements InspectionTypeService{
@Inject
InspectionTypeRepository inspectionTypeRepository;
@Inject
InspectionTypeMapper inspectionTypeMapper;
@Override
public List<InspectionTypeDto> getAllInspectionTypes() {
List<InspectionType> inspectionTypes = inspectionTypeRepository.getAll();
System.out.println(inspectionTypes);
List<InspectionTypeDto> inspectionTypeDtos = inspectionTypeMapper
.inspectionTypesToInspectionTypeDtos(inspectionTypes);
return inspectionTypeDtos;
}