2015-10-07 1 views
0

J'utilise Tomcat depuis longtemps, et je suis frustré par le manque de contrôle sur les threads. Certains threads peuvent consommer toutes les ressources du serveur et cela ne peut pas être contrôlé dans Tomcat. J'explore des conteneurs JavaEE plus avancés, tels que WebSphere, WebLogic et JBoss. Est-ce qu'ils permettent de contrôler ou de changer la priorité d'un thread, ou d'un groupe de threads, même manuellement? De plus, permettraient-ils de contrôler la quantité de CPU utilisée par un thread?Les conteneurs JavaEE avancés permettent-ils de contrôler la priorité des threads?

Merci,

Luis

Répondre

0

Cette question est assez large.

Des threads sont créés par le conteneur et des threads sont créés par les applications. Les priorités de thread Tomcat peuvent être modifiées statiquement via la configuration.

Cependant, vous n'avez aucun contrôle sur ceux créés par les applications à moins d'avoir utilisé les fonctionnalités javax.enterprise.concurrent qui ont été ajoutées à Java EE 7. Différentes implémentations peuvent ou non fournir un moyen de reconfigurer dynamiquement les threads créés dans ce façon.

Certaines implémentations Java EE antérieures à la version 7 peuvent fournir des API dépendantes du fournisseur pour les applications souhaitant accéder aux fonctionnalités concurrentes.