2009-10-28 4 views
2

Nous avons une servlet qui occupe plus de mémoire virtuelle sur le serveur lors du téléchargement des fichiers. Pour cette raison, nous aimerions limiter les requêtes simultanées à ce serveur, disons par exemple que nous ne voulons que 10 requêtes traitées en parallèle. Nous voudrions que d'autres demandes attendent dans la file d'attente.Limiter le nombre de traitement parallèle d'une servlet

Un pool de threads personnalisé peut-il être créé et configuré pour définir le nombre maximal de threads et attribuer à ce servlet la gestion de ce scénario? Nous utilisons le serveur WebLogic 9.2. Ou y a-t-il une autre meilleure approche pour le faire? Appréciez toutes les pensées.

Pourrions-nous configurer une servlet séparée et configurer le pool de threads pour autoriser uniquement X nombre de requêtes simultanées, toutes les autres demandes seraient placées en file d'attente pour utiliser la servlet suivante disponible. Cette approche génère-t-elle une erreur de dépassement de délai? Pouvez-vous s'il vous plaît partager plus de détails à ce sujet? un pool de threads personnalisé peut Merci

http://download.oracle.com/docs/cd/E13222%5F01/wls/docs92/perform/appb%5Fqueues.html

+0

Dupliquer de: 1631981 –

+0

Vous voudrez peut-être expliquer en quoi cela est différent de votre question d'hier avant qu'il ne soit fermé. –

+0

Ne pas hésiter à upvote ma réponse aussi :) –

Répondre

3

créer et assigner à cette servlet pour gérer ce scénario? Nous utilisons le serveur WebLogic 9.2. Ou y a-t-il une autre meilleure approche pour le faire? Appréciez toutes les pensées.

Oui, cela est possible. Au lieu d'utiliser le default self-tuning work manager (à partir de Weblogic 9.x, les files d'exécution sont remplacées par les gestionnaires de tâches pour les pools de threads), vous pouvez créer un gestionnaire de travail avec constraints comme le max-threads-constraint et éventuellement le capacity. Vous pouvez ensuite affecter une servlet à un gestionnaire de travaux spécifique à l'aide du wl-dispatch-policy du fichier de descripteur de déploiement weblogic.xml.


Notez qu'il est toujours possible de enable WebLogic 8.1 Modèle du pool de threads et d'utiliser Exécuter Queues.

+0

Merci pour la description ci-dessus et la confirmation. –

Questions connexes