Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

15.5. Propriétés système

Cette section répertorie les propriétés système qui peuvent être utilisées pour modifier le comportement de JBossWeb par défaut. Les propriétés système peuvent être définies dans la configuration de JBoss Enterprise Web Application. Vous devez le redémarrer pour qu'elles soient appliquées au sous-système web.
L'exemple suivant illustre comment modifier les propriétés système dans JBossWeb
standalone@localhost:9999 /] ./system-property=org.apache.catalina.JSESSIONID:add(value="MYID")
{"outcome" => "success"}
standalone@localhost:9999 /] :shutdown
Communication error: Channel closed
Closed connection to localhost:9999
Pour certaines propriétés, vous pouvez les redémarrer en utilisant la commande « reload ».
Voici un exemple sur la façon de démarrer à nouveau en utilisant la commande « reload ».
[standalone@localhost:9999 /] :reload
{
    "outcome" => "success",
    "response-headers" => {
        "operation-requires-reload" => true,
        "process-state" => "reload-required"
    }
}

Tableau 15.1. Conteneur de servlets et de connecteurs

Attribut Description
jvmRoute
Fournit une valeur par défaut pour l'attribut jvmRoute Ne remplace pas la valeur générée automatiquement qui est utilisée quand on utilise ha read avec une configuration comme standalone-ha.xml
Prend en charge :reload.
org.apache.tomcat.util.buf.StringCache.byte.enabled Si sur true, le cache de String n'est pas activé pour ByteChunk. Si la valeur n'est pas spécifiée, la valeur par défaut (false) sera utilisée.
org.apache.tomcat.util.buf.StringCache.char.enabled Si sur true, le cache de String est activé pour CharChunk. Si la valeur n'est pas spécifiée, la valeur par défaut (false) sera utilisée.
org.apache.tomcat.util.buf.StringCache.cacheSize La taille du cache de String. Si la valeur n'est pas spécifiée, la valeur par défaut de 5000 sera utilisée.
org.apache.tomcat.util.buf.StringCache.maxStringSize La longueur maximum de String à mettre en cache. Si la valeur n'est pas spécifiée, la valeur par défaut de 128 sera utilisée.
org.apache.tomcat.util.http.FastHttpDateFormat.CACHE_SIZE La taille du cache pour utiliser les valeurs de date analysées et formatées. Si la valeur n'est pas spécifiée, la valeur par défaut (1000) sera utilisée.
org.apache.catalina.core.StandardService.DELAY_CONNECTOR_STARTUP Si sur true, le démarrage du connecteur aura lieu automatiquement. Est normalement en mode intégré.
org.apache.catalina.connector.Request.SESSION_ID_CHECK Si défini sur true, le conteneur de servlet vérifiera que la session existe bien dans un contexte avec l'id de session indiqué avant de créer une session avec cet id.
org.apache.coyote.Constants.USE_CUSTOM_STATUS_MSG_IN_HEADER Si sur true, les messages de statut HTTP personnalisés sont utilisés dans les en-têtes HTTP. Les utilisateurs doivent s'assurer que ce genre de message est codé ISO-8859-1, particulièrement si l'entrée fournie par l'utilisateur est incluse dans le message, afin d'éviter une vulnérabilité XSS possible. Si la valeur n'est pas spécifiée, la valeur false par défaut sera utilisée.
org.apache.tomcat.util.http.Parameters.MAX_COUNT Le montant maximal de paramètres pouvant être traités dans un corps de message. En cas de dépassement, le traitement échoue en créant l'exception IllegalStateException. La valeur par défaut est 512 paramètres.
org.apache.tomcat.util.http.MimeHeaders.MAX_COUNT
Le montant maximal d'en têtes pouvant être envoyés dans la demande HTTP. En cas de dépassement, le traitement échoue en créant l'exception IllegalStateException. La valeur par défaut est 128 paramètres.
org.apache.tomcat.util.net.MAX_THREADS Le nombre maximum de threads qu'un connecteur utilisera pour traiter des requêtes. La valeur par défaut est 32 x Runtime.getRuntime().availableProcessors(). (512 x Runtime.getRuntime().availableProcessors() pour le connecteur JIO)
org.apache.coyote.http11.Http11Protocol.MAX_HEADER_SIZE La taille maximum d'en-têtes HTTP, en octets. Si cette valeur est dépassée, le traitement échoue accompagné de l'exception ArrayOutOfBoundsExceptions. La valeur par défaut est de 8192 octets.
org.apache.coyote.http11.Http11Protocol.COMPRESSION Permet d'utiliser la compression simple avec le connecteur HTTP. La valeur par défaut est désactivé, et la compression peut être activée à l'aide de la valeur « on » pour l'activer conditionnellement, ou « force » pour l'activer en continu.
org.apache.coyote.http11.Http11Protocol.COMPRESSION_RESTRICTED_UA Agent regexps d'utilisateur qui ne recevront pas de contenu compressé. La valeur par défaut est vide.
org.apache.coyote.http11.Http11Protocol.COMPRESSION_MIME_TYPES Prefixes de contenu compressible. La valeur par défaut est text/html,text/xml,text/plain.
org.apache.coyote.http11.Http11Protocol.COMPRESSION_MIN_SIZE Taille minimum de contenu à comprimer. La valeur par défaut est de 2048 octets.
org.apache.coyote.http11.DEFAULT_CONNECTION_TIMEOUT Timeout de socket par défaut. La valeur par défaut est de 60000 ms.
org.jboss.as.web.deployment.DELETE_WORK_DIR_ONCONTEXTDESTROY Utilisez cette propriété pour supprimer les fichiers .java et .class pour que les sources JSP soient recompilés. La valeur par défaut est false. Timeout de socket par défaut pour les garder en vie. La valeur par défaut est de -1 ms, ce qui signifie qu'il utilisera le timeout de socket par défaut.
org.apache.tomcat.util.buf.StringCache.trainThreshold Indique le nombre de fois que toString() devra être invoqué avant d'activer le cache. La valeur par défaut est de 100000.

Tableau 15.2. EL

Attribut Description
org.apache.el.parser.COERCE_TO_ZERO Si sur true, lorsque l'on oblige les expression à correspondre à des nombres "" et que null sera obligé de correspondre à zéro comme l'exige la spécification. Si la valeur n'est pas spécifiée, la valeur par défaut (true) sera utilisée.

Tableau 15.3. JSP

Attribut Description
org.apache.jasper.compiler.Generator.VAR_EXPRESSIONFACTORY Le nom de la variable à utiliser pour l'usine d'expressions de language d'expressions. Si la valeur n'est pas spécifiée, la valeur par défaut _el_expressionfactory sera utilisée.
org.apache.jasper.compiler.Generator.VAR_INSTANCEMANAGER Le nom de la variable à utiliser pour l'usine d'expressions de language d'expressiosn. Si la valeur n'est pas spécifiée, la valeur par défaut _el_expressionfactory sera utilisée.
org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING Si sur false, les exigences pour les signes de cotation d'échappement des attributs JSP sont assouplies afin qu'un signe de cotation requis manquant ne cause pas d'erreur. Si la valeur n'est pas spécifiée, la valeur par défaut de true conforme à la spécification sera utilisée.
org.apache.jasper.Constants.DEFAULT_TAG_BUFFER_SIZE Toute mémoire tampon de balise qui s'étend au delà de la taille org.apache.jasper.Constants.DEFAULT_TAG_BUFFER_SIZE est détruite et une nouvelle mémoire tampon est créée à la taille par défaut. Si la valeur n'est pas spécifiée, la valeur par défaut de 512 sera utilisée.
org.apache.jasper.runtime.JspFactoryImpl.USE_POOL Si sur true, un pool de ThreadLocal PageContext sera utilisé. Si la valeur n'est pas spécifiée, la valeur par défaut de true sera utilisée.
org.apache.jasper.runtime.JspFactoryImpl.POOL_SIZE La taille de ThreadLocal PageContext. Si la valeur n'est pas spécifiée, la valeur par défaut de 8 sera utilisée.
org.apache.jasper.Constants.JSP_SERVLET_BASE La taille de ThreadLocal PageContext. Si la valeur n'est pas spécifiée, la valeur par défaut de org.apache.jasper.runtime.HttpJspBase sera utilisée.
org.apache.jasper.Constants.SERVICE_METHOD_NAME Le nom de la méthode de service à utiliser pour la classe de base. Si la valeur n'est pas spécifiée, la valeur par défaut _jspService sera utilisée.
org.apache.jasper.Constants.SERVLET_CLASSPATH Le nom de l'attribut ServletContext qui contient le chemin de classe du JSP. Si la valeur n'est pas spécifiée, la valeur par défaut org.apache.catalina.jsp_classpath sera utilisée.
org.apache.jasper.Constants.JSP_FILE Le nom de l'attribut de la demande de l'élément <jsp-file> d'une définition de servlet. S'il est présent sur une demande, cela remplacera la valeur retournée par request.getServletPath() pour sélectionner la page JSP à traiter. Si la valeur n'est pas spécifiée, la valeur par défaut org.apache.catalina.jsp_file sera utilisée.
org.apache.jasper.Constants.PRECOMPILE Le nom du paramètre de requête qui indique au moteur JSP qui servira à prégénérer le servlet mais pas à l'invoquer. Si la valeur n'est pas spécifiée, la valeur par défaut org.apache.catalina.jsp_precompile sera utilisée.
org.apache.jasper.Constants.JSP_PACKAGE_NAME Le nom de paquet par défaut à utiliser pour les pages jsp compilées. Si la valeur est non spécifiée, la valeur par défaut à utiliser sera org.apache.jsp.
org.apache.jasper.Constants.TAG_FILE_PACKAGE_NAME Le nom de paquet par défaut à utiliser pour les gestionnaires de balises des fichiers de balises. Si la valeur est non spécifiée, la valeur par défaut à utiliser sera org.apache.jsp.tag
org.apache.jasper.Constants.TEMP_VARIABLE_NAME_PREFIX Le préfixe à utiliser pour générer les noms de variables temporaires. Si la valeur n'est pas spécifiée, la valeur par défaut _jspx_temp sera utilisée.
org.apache.jasper.Constants.USE_INSTANCE_MANAGER_FOR_TAGS Si sur true, le gestionnaire d'instances sera utilisé pour obtenir des instances de gestionnaires de balises. Si la valeur n'est pas spécifiée, la valeur true sera utilisée.
org.apache.jasper.Constants.INJECT_TAGS Si sur true, les annotations spécifiées dans les balises seront traitées et injectées. Cela peut avoir un impact sur les performances lors de l'utilisation de balises simples, ou si « tag pooling » est désactivé. Si la valeur n'est pas spécifiée, false sera utilisé.

Tableau 15.4. Sécurité

Attribut Description
org.apache.catalina.connector.RECYCLE_FACADES Si sur true ou si un gestionnaire de sécurité est utilisé, un nouvel objet de façade sera créé pour chaque demande. Si la valeur n'est pas spécifiée, la valeur par défaut false sera utilisée.
org.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH Si sur true, le caractère ' \' sera autorisé en tant que délimiteur de chemin d'accès. Si la valeur n'est pas spécifiée, la valeur par défaut false sera utilisée.
org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH Si sur true, les expressions '%2F' and '%5C' sont autorisés en tant que délimiteurs de chemin d'accès. Si la valeur n'est pas spécifiée, la valeur par défaut false sera utilisée.

Tableau 15.5. Spécification

Attribut Description
org.apache.catalina.STRICT_SERVLET_COMPLIANCE
Si la valeur n'est pas spécifiée, la valeur true sera utilisée. Si sur true, les actions suivantes auront lieu :
  • tout objet encapsulé de demande ou de réponse passé à un répartiteur d'applications est vérifié pour s'assurer qu'il a enveloppé la demande originale ou réponse. (SRV.8.2 / SRV.14.2.5.1)
  • un appel à Response.getWriter() si aucun codage de caractères qui n'a pas été spécifié résulte en appels ultérieurs à Response.getCharacterEncoding() retournant ISO-8859-1 et l'en-tête de la réponse de type de contenu inclura un charset = ISO-8859-1 composant. (SRV.15.2.22.1)
  • chaque requête associée à une session provoque la mise à jour de la dernière date d'accès indépendamment de si oui ou non la requête a explicitement accèdé à la session. (SRV.7.6)
org.apache.catalina.core.StandardWrapperValve.SERVLET_STATS Si sur true ou si org.apache.catalina.STRICT_SERVLET_COMPLIANCE a la valeur true, le wrapper recueillera les statistiques de JSR-77 pour les servlets individuels. Si la valeur n'est pas spécifiée, la valeur par défaut false est utilisée.
org.apache.catalina.session.StandardSession.ACTIVITY_CHECK Si sur true ou si org.apache.catalina.STRICT_SERVLET_COMPLIANCE est sur true, Tomcat vérifie le nombre de requêtes actives pour chaque session. Quand on détermine si une session reste valide, toute séance comportant au moins une demande active est toujours considérée comme valide. Si la valeur n'est pas spécifiée, la valeur par défaut false est utilisée.