diff --git a/lombok.config b/lombok.config
index d07dd9b0e2b0281fbf514a968b9451cb6af62f93..a06fa130e8af26b659f2d3a0cb1114cd966a9b0e 100644
--- a/lombok.config
+++ b/lombok.config
@@ -27,4 +27,5 @@ lombok.log.slf4j.flagUsage = ERROR
 lombok.log.log4j.flagUsage = ERROR
 lombok.data.flagUsage = ERROR
 lombok.nonNull.exceptionType = IllegalArgumentException
-lombok.addLombokGeneratedAnnotation = true
\ No newline at end of file
+lombok.addLombokGeneratedAnnotation = true
+lombok.copyableAnnotations += org.springframework.beans.factory.annotation.Qualifier
\ No newline at end of file
diff --git a/src/main/java/de/ozgcloud/processor/ProcessorManagerConfiguration.java b/src/main/java/de/ozgcloud/processor/ProcessorManagerConfiguration.java
index 769ede696d42b30f92dff964ab4826b3c57a6a2f..c9dea1532cd7a392ed564c176b6fe1188c770594 100644
--- a/src/main/java/de/ozgcloud/processor/ProcessorManagerConfiguration.java
+++ b/src/main/java/de/ozgcloud/processor/ProcessorManagerConfiguration.java
@@ -38,11 +38,25 @@ import net.devh.boot.grpc.client.inject.GrpcClient;
 @Configuration
 public class ProcessorManagerConfiguration {
 
-	@GrpcClient("vorgang-manager")
+	public static final String PROCESSOR_EVENT_LISTENER_NAME = "processorManager_ProcessorEventListener";
+	public static final String PROCESSOR_PROPERTIES_NAME = "processorManager_ProcessorProperties";
+	public static final String PROXY_PROPERTIES_NAME = "processorManager_ProxyProperties";
+	public static final String AKTENNOTIZ_FACTORY_NAME = "processorManager_AktennotizFactory";
+	public static final String VORGANG_MAPPER_NAME = "processorManager_VorgangMapper";
+
+	public static final String VORGANG_SERVICE_NAME = "processorManager_VorgangService";
+	public static final String PROCESSOR_SERVICE_NAME = "processorManager_ProcessorService";
+	public static final String RESULT_SERVICE_NAME = "processorManager_ResultService";
+
+	public static final String OZGCLOUD_VORGANG_SERVICE_NAME = "processorManager_OzgCloudVorgangService";
+
+	public static final String GRPC_VORGANG_SERVICE_ADDRESS = "vorgang-manager";
+
+	@GrpcClient(GRPC_VORGANG_SERVICE_ADDRESS)
 	private VorgangServiceGrpc.VorgangServiceBlockingStub vorgangServiceStub;
 
 	@ConditionalOnProperty(prefix = "ozgcloud.processors[0]", name = "address")
-	@Bean("processorManager_OzgCloudCommandService")
+	@Bean(OZGCLOUD_VORGANG_SERVICE_NAME) // NOSONAR
 	OzgCloudVorgangService grpcOzgCloudCommandService(OzgCloudVorgangMapper vorgangMapper, OzgCloudVorgangStubMapper vorgangStubMapper,
 			OzgCloudVorgangQueryMapper vorgangQueryMapper, ProzessorManagerCallContextProvider contextProvider) {
 		return new GrpcOzgCloudVorgangService(vorgangServiceStub, vorgangMapper, vorgangStubMapper, vorgangQueryMapper, contextProvider);
diff --git a/src/main/java/de/ozgcloud/processor/processor/ProcessorConfiguration.java b/src/main/java/de/ozgcloud/processor/processor/ProcessorConfiguration.java
index a4528d058690d54726cd03ae75f20842060dc7e6..7d4cbff45ef9e0d33033a7546b72b1c307c05d44 100644
--- a/src/main/java/de/ozgcloud/processor/processor/ProcessorConfiguration.java
+++ b/src/main/java/de/ozgcloud/processor/processor/ProcessorConfiguration.java
@@ -5,18 +5,21 @@ import java.net.ProxySelector;
 import java.net.http.HttpClient;
 import java.util.Optional;
 
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.http.client.reactive.ClientHttpConnector;
 import org.springframework.http.client.reactive.JdkClientHttpConnector;
 import org.springframework.web.reactive.function.client.WebClient;
 
+import de.ozgcloud.processor.ProcessorManagerConfiguration;
 import lombok.RequiredArgsConstructor;
 
 @Configuration
 @RequiredArgsConstructor
 class ProcessorConfiguration {
 
+	@Qualifier(ProcessorManagerConfiguration.PROXY_PROPERTIES_NAME) // NOSONAR
 	private final Optional<ProxyProperties> proxyProperties;
 
 	@Bean
diff --git a/src/main/java/de/ozgcloud/processor/processor/ProcessorEventListener.java b/src/main/java/de/ozgcloud/processor/processor/ProcessorEventListener.java
index 5955c5ff30a86cae2db73f201bfad6f9e66f74ca..be8623afc611ef0fb72a6863cae0038a47d8adc2 100644
--- a/src/main/java/de/ozgcloud/processor/processor/ProcessorEventListener.java
+++ b/src/main/java/de/ozgcloud/processor/processor/ProcessorEventListener.java
@@ -6,6 +6,7 @@ import java.util.function.Predicate;
 
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang3.exception.ExceptionUtils;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.context.ApplicationEventPublisher;
 import org.springframework.context.event.EventListener;
@@ -15,6 +16,7 @@ import de.ozgcloud.command.Command;
 import de.ozgcloud.command.CommandCreatedEvent;
 import de.ozgcloud.command.CommandFailedEvent;
 import de.ozgcloud.command.VorgangCreatedEvent;
+import de.ozgcloud.processor.ProcessorManagerConfiguration;
 import de.ozgcloud.processor.result.ResultService;
 import de.ozgcloud.processor.vorgang.Vorgang;
 import de.ozgcloud.processor.vorgang.VorgangId;
@@ -23,15 +25,21 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.log4j.Log4j2;
 import reactor.core.publisher.Mono;
 
-@Component("processorVorgangEventListener")
+@Component(ProcessorManagerConfiguration.PROCESSOR_EVENT_LISTENER_NAME) // NOSONAR
 @ConditionalOnProperty(prefix = "ozgcloud.processors[0]", name = "address")
 @RequiredArgsConstructor
 @Log4j2
 class ProcessorEventListener {
 
+	@Qualifier(ProcessorManagerConfiguration.VORGANG_SERVICE_NAME) // NOSONAR
 	private final VorgangService service;
+
+	@Qualifier(ProcessorManagerConfiguration.PROCESSOR_SERVICE_NAME) // NOSONAR
 	private final ProcessorService processorService;
+
+	@Qualifier(ProcessorManagerConfiguration.RESULT_SERVICE_NAME) // NOSONAR
 	private final ResultService resultService;
+
 	private final ApplicationEventPublisher publisher;
 
 	static final String PROCESS_VORGANG_ORDER = "PROCESS_VORGANG";
diff --git a/src/main/java/de/ozgcloud/processor/processor/ProcessorProperties.java b/src/main/java/de/ozgcloud/processor/processor/ProcessorProperties.java
index ae2223900bc2b824bc24ba0bf359d13349e24088..9b345b39212ecbdc1f490f85388d4171772c7ce2 100644
--- a/src/main/java/de/ozgcloud/processor/processor/ProcessorProperties.java
+++ b/src/main/java/de/ozgcloud/processor/processor/ProcessorProperties.java
@@ -9,6 +9,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.validation.annotation.Validated;
 
+import de.ozgcloud.processor.ProcessorManagerConfiguration;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Getter;
@@ -20,7 +21,7 @@ import lombok.ToString;
 @ToString
 @Getter
 @Setter
-@Configuration
+@Configuration(ProcessorManagerConfiguration.PROCESSOR_PROPERTIES_NAME) // NOSONAR
 @ConfigurationProperties(prefix = "ozgcloud")
 @Validated
 @Builder
diff --git a/src/main/java/de/ozgcloud/processor/processor/ProcessorService.java b/src/main/java/de/ozgcloud/processor/processor/ProcessorService.java
index 42f2a02a9d1dcb5ced61b9b191a031e1cba6c00b..cf766ab1b17a65c67a886125e6289885265db32c 100644
--- a/src/main/java/de/ozgcloud/processor/processor/ProcessorService.java
+++ b/src/main/java/de/ozgcloud/processor/processor/ProcessorService.java
@@ -6,6 +6,7 @@ import java.util.Optional;
 import java.util.stream.Stream;
 
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpStatusCode;
@@ -17,6 +18,7 @@ import org.springframework.web.reactive.function.client.ClientResponse;
 import org.springframework.web.reactive.function.client.WebClient;
 
 import de.ozgcloud.common.errorhandling.TechnicalException;
+import de.ozgcloud.processor.ProcessorManagerConfiguration;
 import de.ozgcloud.processor.processor.ProcessorProperties.Form;
 import de.ozgcloud.processor.processor.ProcessorProperties.Processor;
 import de.ozgcloud.processor.result.ProcessorTechnicalException;
@@ -26,13 +28,14 @@ import lombok.extern.log4j.Log4j2;
 import reactor.core.publisher.Mono;
 
 @ConditionalOnProperty(prefix = "ozgcloud.processors[0]", name = "address")
-@Service
+@Service(ProcessorManagerConfiguration.PROCESSOR_SERVICE_NAME) // NOSONAR
 @RequiredArgsConstructor
 @Log4j2
 public class ProcessorService {
 
 	private static final String KEY_VORGANG = "vorgang";
 
+	@Qualifier(ProcessorManagerConfiguration.PROCESSOR_PROPERTIES_NAME) // NOSONAR
 	private final ProcessorProperties properties;
 
 	private final WebClient webClient;
diff --git a/src/main/java/de/ozgcloud/processor/processor/ProxyProperties.java b/src/main/java/de/ozgcloud/processor/processor/ProxyProperties.java
index 5ea0a781e2dae87a703198a7d221060feb283c70..014e9ce9a18c9e599d1f255016500cf54934388b 100644
--- a/src/main/java/de/ozgcloud/processor/processor/ProxyProperties.java
+++ b/src/main/java/de/ozgcloud/processor/processor/ProxyProperties.java
@@ -8,6 +8,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.validation.annotation.Validated;
 
+import de.ozgcloud.processor.ProcessorManagerConfiguration;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Getter;
@@ -15,7 +16,7 @@ import lombok.NoArgsConstructor;
 import lombok.Setter;
 import lombok.ToString;
 
-@Configuration
+@Configuration(ProcessorManagerConfiguration.PROXY_PROPERTIES_NAME) // NOSONAR
 @ConditionalOnProperty(prefix = "ozgcloud.http-proxy", name = { "host", "port" })
 @ConfigurationProperties(prefix = "ozgcloud.http-proxy")
 @Validated
diff --git a/src/main/java/de/ozgcloud/processor/result/AktennotizFactory.java b/src/main/java/de/ozgcloud/processor/result/AktennotizFactory.java
index ec61ada8c3526f5e1c9357ccf24a9dd835c77796..9f48112247a7e2103d61f7c127a886742831aede 100644
--- a/src/main/java/de/ozgcloud/processor/result/AktennotizFactory.java
+++ b/src/main/java/de/ozgcloud/processor/result/AktennotizFactory.java
@@ -2,9 +2,10 @@ package de.ozgcloud.processor.result;
 
 import org.springframework.stereotype.Component;
 
+import de.ozgcloud.processor.ProcessorManagerConfiguration;
 import de.ozgcloud.processor.processor.ProcessorResult;
 
-@Component
+@Component(ProcessorManagerConfiguration.AKTENNOTIZ_FACTORY_NAME) // NOSONAR
 public class AktennotizFactory {
 
 	static final String AKTENNOTIZ_ERROR_TEXT = """
diff --git a/src/main/java/de/ozgcloud/processor/result/ResultService.java b/src/main/java/de/ozgcloud/processor/result/ResultService.java
index 507c3e445c2c7fd8a265ebf1a30c8b417fe7608a..a4628844358fd7210228eeb1dae80156ef47d378 100644
--- a/src/main/java/de/ozgcloud/processor/result/ResultService.java
+++ b/src/main/java/de/ozgcloud/processor/result/ResultService.java
@@ -2,21 +2,24 @@ package de.ozgcloud.processor.result;
 
 import jakarta.validation.Valid;
 
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
 import de.ozgcloud.apilib.alfa.AlfaService;
 import de.ozgcloud.apilib.vorgang.OzgCloudVorgangIdMapper;
+import de.ozgcloud.processor.ProcessorManagerConfiguration;
 import de.ozgcloud.processor.processor.ProcessorResult;
 import lombok.RequiredArgsConstructor;
 
-@Service
+@Service(ProcessorManagerConfiguration.RESULT_SERVICE_NAME) // NOSONAR
 @RequiredArgsConstructor
 @Validated
 public class ResultService {
 
 	private final AlfaService alfaService;
 	private final OzgCloudVorgangIdMapper vorgangIdMapper;
+	@Qualifier(ProcessorManagerConfiguration.AKTENNOTIZ_FACTORY_NAME) // NOSONAR
 	private final AktennotizFactory aktennotizFactory;
 
 	public void processResult(@Valid ProcessorResult result) {
diff --git a/src/main/java/de/ozgcloud/processor/vorgang/ProcessorVorgangMapper.java b/src/main/java/de/ozgcloud/processor/vorgang/ProcessorVorgangMapper.java
index 5c7c9129d38866c5cc219145374759af553bcc94..4b640f070d989dfb06e51c461c1c33e576a0b863 100644
--- a/src/main/java/de/ozgcloud/processor/vorgang/ProcessorVorgangMapper.java
+++ b/src/main/java/de/ozgcloud/processor/vorgang/ProcessorVorgangMapper.java
@@ -4,9 +4,11 @@ import java.util.List;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.mapstruct.AnnotateWith;
 import org.mapstruct.Mapper;
 import org.mapstruct.Mapping;
 import org.mapstruct.Named;
+import org.springframework.stereotype.Component;
 
 import de.ozgcloud.apilib.file.OzgCloudFileGroup;
 import de.ozgcloud.apilib.file.OzgCloudFileId;
@@ -19,8 +21,10 @@ import de.ozgcloud.apilib.vorgang.OzgCloudSubForm;
 import de.ozgcloud.apilib.vorgang.OzgCloudVorgang;
 import de.ozgcloud.apilib.vorgang.OzgCloudVorgangId;
 import de.ozgcloud.common.binaryfile.FileId;
+import de.ozgcloud.processor.ProcessorManagerConfiguration;
 
 @Mapper
+@AnnotateWith(value = Component.class, elements = @AnnotateWith.Element(strings = ProcessorManagerConfiguration.VORGANG_MAPPER_NAME))
 public interface ProcessorVorgangMapper {
 
 	@Mapping(target = "eingang", qualifiedByName = "mapEingang", source = "eingangs")
diff --git a/src/main/java/de/ozgcloud/processor/vorgang/VorgangService.java b/src/main/java/de/ozgcloud/processor/vorgang/VorgangService.java
index dca2e610ff81292835bc9aa3ce2d2218eeb341c3..ad3823ac13f540007ebbbb9e65c73e8f0492b7f9 100644
--- a/src/main/java/de/ozgcloud/processor/vorgang/VorgangService.java
+++ b/src/main/java/de/ozgcloud/processor/vorgang/VorgangService.java
@@ -1,23 +1,25 @@
 package de.ozgcloud.processor.vorgang;
 
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.stereotype.Service;
 
 import de.ozgcloud.apilib.vorgang.OzgCloudVorgangId;
 import de.ozgcloud.apilib.vorgang.OzgCloudVorgangService;
+import de.ozgcloud.processor.ProcessorManagerConfiguration;
 import lombok.NonNull;
+import lombok.RequiredArgsConstructor;
 
 @ConditionalOnProperty(prefix = "ozgcloud.processors[0]", name = "address")
-@Service("processorVorgangService")
+@Service(ProcessorManagerConfiguration.VORGANG_SERVICE_NAME) // NOSONAR
+@RequiredArgsConstructor
 public class VorgangService {
 
-	@Autowired
-	@Qualifier("processorManager_OzgCloudCommandService")
-	private OzgCloudVorgangService ozgCloudService;
-	@Autowired
-	private ProcessorVorgangMapper mapper;
+	@Qualifier(ProcessorManagerConfiguration.OZGCLOUD_VORGANG_SERVICE_NAME) // NOSONAR
+	private final OzgCloudVorgangService ozgCloudService;
+
+	@Qualifier(ProcessorManagerConfiguration.VORGANG_MAPPER_NAME) // NOSONAR
+	private final ProcessorVorgangMapper mapper;
 
 	public Vorgang getVorgang(@NonNull VorgangId id) {
 		var loaded = ozgCloudService.getById(OzgCloudVorgangId.from(id.toString()));