2017-03-03 1 views
0

Pour un contrôle plus simple des performances des applications, je souhaite utiliser un pool d'unités d'exécution étendu. Notre application utilise Tomcat comme serveur web, Spring et, au niveau inférieur, fait beaucoup d'appels aux API externes. J'ai besoin que certains de ces appels externes soient exécutés de manière asynchrone et que je veuille utiliser à cette fin le même pool de threads que Tomcat utilise pour le service de demande client. Tout d'abord, j'ai pensé que je peux en quelque sorte obtenir le pool de threads Tomcat et ensuite l'utiliser, mais après quelques recherches, je n'ai pas trouvé un moyen de le faire.Comment utiliser un pool d'unités d'exécution unique "application wide" dans l'application Spring MVC exécutée sur Tomcat Server

Mon deuxième réflexe était de définir un pool de threads personnalisé pour Tomcat et de l'utiliser également dans d'autres endroits, où j'ai besoin d'appels asynchrones. Mais je n'ai pas trouvé comment l'appliquer aussi.

Toute aide et conseil seront appréciés.

+0

S'il vous plaît vérifier les exemples ici, très utile pour vous, je pense. http://www.mkyong.com/spring/spring-and-java-thread-example/ –

+0

@bureaquete merci, mais je ne vois pas comment cela peut m'aider. J'ai trouvé la réponse au sujet de TaskExecutor de printemps et il dit que purpouse est de donner la capacité de l'utilisateur pré-java5 à utiliser le pool de threads. http://stackoverflow.com/questions/8209864/what-is-the-purpose-of-taskexecutor-in-spring. J'utilise Java 8 et j'ai tous les pools dont j'ai besoin, mais ce que je cherche vraiment, c'est comment utiliser un pool de threads pour l'ensemble de mon application, y compris Tomacat. –

Répondre

0

Sélectionnez l'exécuteur de tâches abstractions from Spring.

+0

Ceci est au plus un commentaire, pas une réponse ... –

+0

@maggu merci pour votre réponse, mais comme je l'ai lu Spring TaskExecutor est le même que le service Executor java5. J'ai besoin de quelque chose d'autre je pense ... –

+0

De [Spring Doc] (https://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html): L'interface TaskExecutor de Spring est identique à l'interface java.util.concurrent.Executor. En fait, sa principale raison d'être était de faire abstraction du besoin de Java 5 lors de l'utilisation des pools de threads –