J'essaie d'utiliser l'annotation Async au printemps, mais je reçois
Java.lang.IllegalStateException: ThreadPoolTaskScheduler not initialized
erreur, lorsque j'essaie d'exécuter la méthode marquée Async. Voici la configuration pour Async:
@EnableScheduling
@EnableAsync
@Configuration
public class SchedulingConfiguration implements AsyncConfigurer{
@Override
public Executor getAsyncExecutor() {
ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
scheduler.setPoolSize(10);
return scheduler;
}
}
et ce qui suit est la déclaration de la méthode async.
@Async
@Transactional(value = "baseTransactionManager", isolation = Isolation.READ_COMMITTED)
public void foo(Bar bar) {// some code here}
Qu'est-ce que je manque ici?
Merci d'avance.
Vous devez appeler explicitement scheduler.initialize()
après avoir défini toutes les propriétés mais avant de retourner le planificateur.
Voir le cas de test complet ici .