web-dev-qa-db-fra.com

Spring Async ThreadPoolTaskScheduler non initialisé

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.

15
small_ticket

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 .

29
Yaroslav Stavnichiy