Page 1 of 1

Welche Threadpooltaskexecutor -Bean ist automatisch, wenn in der Federkonfiguration mehrere ausführende Ausführende vorh

Posted: 05 Apr 2025, 12:11
by Anonymous
Ich konfiguriere mehrere Threadpooltaskexecutor im Frühjahr und begegnet Unklarheiten bei der Bean -Autowering. Ich brauche Hilfe beim Verständnis des Injektionsverhaltens.

Code: Select all

@Configuration
@EnableAsync
public class ThreadPoolConfig implements AsyncConfigurer {
public static final String COMMON_EXECUTOR = "commonExecutor";
public static final String TEST_EXECUTOR = "testExecutor";

@Override
public Executor getAsyncExecutor() {
return commonExecutor();
}

@Primary
@Bean(COMMON_EXECUTOR)
public ThreadPoolTaskExecutor commonExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
// Configuration details...
return executor;
}

@Bean(TEST_EXECUTOR)
public ThreadPoolTaskExecutor testExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
// Different configuration...
return executor;
}
}
< /code>
Serviceklasse: < /p>
@Slf4j
@Service
@RequiredArgsConstructor
public class WareVarietyServiceImpl implements WareVarietyService {
private final ThreadPoolTaskExecutor testExecutor;
}
Es gibt zwei ThreadPooltaskexecutor Beans definiert: commonexecutor (markiert mit @primary ) und tstexecutor . Wenn Sie den TESTExecutor in der Serviceklasse automatisieren:
Erwartet: Injektion des testenexecutors bean.>