2016-08-26 4 views

Répondre

1

Trouvé une solution. Vous pouvez utiliser la balise <Call> pour appeler la méthode setInitParameter du WebAppContext afin de définir les paramètres init. Pour cette balise, vous définissez l'attribut name sur la méthode que vous appelez et le premier arg est le nom du paramètre, le second arg est la valeur param.

<Call name="setInitParameter"> 
    <Arg>org.eclipse.jetty.servlet.Default.useFileMappedBuffer</Arg> 
    <Arg>false</Arg> 
</Call> 
+0

Solution créative, en utilisant ServletContext init-param pour autoriser l'initialisation DefaultServlet à utiliser. Ca sent le bogue, car cette technique est réservée à un XML déployable, et abuse du but et du rôle de 'jetty-env.xml' (uniquement pour l'installation de l'environnement JNDI). Ne vous attendez pas à ce que cela fonctionne dans le futur. –

0

Non, car c'est une configuration init-param pour la DefaultServlet, qui est défini comme defaultDescriptor dans le WebAppContext.

Au moment où le jetty-env.xml a été chargé et est en cours de traitement, l'instance WebAppContext existe et le defaultDescriptor a déjà été chargé et initialisé.

Le seul endroit où vous pouvez spécifier que init-param est dans un defaultDescriptor personnalisé que vous référencez dans votre XML déployable pour votre application Web.

Remarque: jetty-env.xml existe pour définir divers objets liés à l'environnement JDNI, il n'est pas conçu pour autre chose.

+0

Il est possible d'utiliser l'étiquette , voir ma réponse. – JCS