2017-09-30 2 views
0

J'ai 5 tâches différentes, ces tâches doivent être exécutées en parallèle. Cette tâche est implémentée dans 5 classes différentes. Maintenant j'ai besoin d'invoquer ces 5 classes en parallèle. Aussi nombre de fois que la tâche exécutée sera différente pour chaque invocation. Disons que j'ai une classe ProcessExecuoter qui fournira la liste des tâches à exécuter.Est-il possible de faire la liste des appels parallèles en utilisant l'intégration de printemps

// Cette liste va changer dynamiquement chaque invocation List myTaskList = new ArrayList();

En fonction d'une valeur de propriété dans MyTask, je dois appeler la TaskClass correspondante et collecter les résultats. J'utilise Spring Boot 1.2.4 et Java 1.6.

Répondre

0

Vous avez juste besoin d'envoyer vos tâches en tant que charges utiles de messages au ExecutorChannel et de rassembler leurs résultats par la suite en utilisant le composant Aggregator.

Toutes les informations nécessaires vous pouvez trouver dans le manuel de référence:?

https://docs.spring.io/spring-integration/docs/4.3.12.RELEASE/reference/html/messaging-channels-section.html#executor-channel

https://docs.spring.io/spring-integration/docs/4.3.12.RELEASE/reference/html/messaging-routing-chapter.html#aggregator

+0

ne aggreagtor sera appelé tout exécution du thread est terminé ou devons-nous définir des propriétés I Je veux m'assurer que tous mes résultats sont collectés par agrégateur. – springbootlearner