Je dois pouvoir réaliser deux tâches de filetage dans un conteneur et avoir besoin de comprendre les meilleures pratiques pour ce faire. Voici les deux classes de tâches que j'ai besoin d'accomplir:Quelle est la meilleure pratique pour gérer les pools d'unités d'exécution dans un conteneur?
- Lors d'un appel de services Web, j'ai besoin de démarrer un thread qui continue le traitement après que la réponse a été envoyée. Aucun message n'est requis à l'expéditeur d'origine lorsque le traitement est terminé.
- Un appel de services Web peut avoir besoin de générer plusieurs threads qui doivent s'exécuter parallèlement les uns aux autres. La réponse à la demande d'origine doit être bloquée jusqu'à ce que tous les travailleurs aient terminé. Les éléments de la réponse seront tirés des morceaux de chacun des résultats du fil.
Bien sûr, je pourrais créer ma propre instance d'un java.util.concurrent.Executor
et l'utiliser, mais je pense que les conteneurs pourraient être assez intelligents pour en fournir un qu'ils gèrent. FWIW - J'utilise WebSphere 6.1 sur JDK 1.5.0 (je sais, ancien ... mais c'est ce que c'est). Je cours des services Web développés en utilisant Apache CXF, donc je suis dans le conteneur de servlet, mais configuré avec Spring.
Connexes: http://stackoverflow.com/questions/5357033/background-timer-task-in-jsp-web-application/5357856#5357856 La réponse se résume à: "Dépend du conteneur, lisez sa documentation /Manuel". Vous pouvez recadrer votre question en "Comment utiliser un pool de threads géré WebSphere?" si vous échouez à déchiffrer la documentation IBM. – BalusC