GRIZZLY0023 Avertissement Glassfish

J’ai déployé 2 applications Web en Java sur le serveur GlassFish. J’utilise Glassfish Server 3.1.2.2. Ils ont tous les deux des pages de servlet java d’où ils reçoivent les requêtes http, le code est identique, seuls des parameters différents (pour différents clients). Le premier fonctionne bien et l’autre traite la requête http très longtemps. Après cela, j’ai remarqué la chose suivante:

Je reçois constamment cet avertissement dans la sortie Glassfish dans Netbeans.

WARNING: GRIZZLY0023: Interrupting idle Thread: http-thread-pool-9990 

Quelqu’un peut-il m’expliquer pourquoi je reçois cet avertissement et comment le résoudre?

Cet avertissement se produit si une requête HTTP arrive à expiration. Le délai d’expiration par défaut de Glassfish est de 15 minutes .

Cela peut se produire dans différentes situations, par exemple lorsqu’une demande appelle une action de longue durée qui ne renvoie aucune réponse dans le délai imparti, si une demande adressée à votre serveur a été effectuée via HTTPS et prend en charge uniquement HTTP (ou inversement). ou s’il n’y a plus de connexions disponibles dans le pool de connexions HTTP.

La cause spécifique de votre cas ne peut être qu’identifiée, mais en général, une solution à ce problème consiste à augmenter le délai d’expiration de la requête HTTP par défaut. Vous pouvez définir cette valeur dans l’interface utilisateur graphique de Glassfish ( http://localhost:4848 ) sous:

server-config -> Network Config -> Network Listeners ->

le champ Request Timeout est défini sur 900 (15 minutes) par défaut, il suffit d’augmenter cette valeur. Malheureusement, vous ne pouvez pas le définir sur -1 pour ne pas avoir de limite depuis Glassfish 3.1.2.

Vous pouvez également le définir avec l’outil asadmin comme ceci:

 asadmin set configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.request-timeout-seconds=x 

Cela s’est produit lorsque le serveur est inactif. Lorsque le serveur est inactif pendant un certain temps, il commence à générer

GRIZZLY0023: Interruption du thread inactif:

avertissement dans le fichier journal et nous devons redémarrer le serveur. Nous avons observé cela dans Glassfish 3.1.2.2 build 5. Nous n’avons jamais observé cela dans Glassfish plus ancien.

Cela indique qu’il y a un bogue dans la version GF 3.1.2.2.

Je ne pense pas que je recommanderais simplement de désactiver complètement l’interruption des threads. En réalité, cette erreur est probablement due à un bogue dans Glassfish 3.1.2.2, qui empêche les threads d’interrompre correctement. Cela peut être vu à travers plusieurs journaux d’interrogation pour le même ID de thread. Le bogue est corrigé en plaçant une version corrigée de grizzly-http.jar sur le grizzly-http.jar de grizzly-http.jar de Glassfish.

Pour plus d’informations, voir https://www3.wipo.int/confluence/display/wipoimd/3.3.2.1.-+GlassFish+3.1.2.2+%28build+5%29+patches

Vous devez augmenter ou désactiver le délai de demande dans l’administration Glassfish:

 server-config -> Network Config -> Network Listeners ->  -> HTTP 

Une valeur de -1 le désactivera.

Testé dans: GlassFish Server Open Source Edition 3.1.2.2