Génération des fichiers classe JSP
Lors de l'exécution, le moteur JSP (JavaServer Page) de WebSphere Application Server charge des fichiers classe JSP à partir du répertoire temp de WebSphere Application Server ou du répertoire WEB-INF/classes d'un module web. Le moteur JSP recherche d'abord un fichier classe dans le répertoire temp puis dans le répertoire WEB-INF/classes du module Web.
Dans une installation par défaut, le répertoire temp de WebSphere Application Server est généralement racine_profil/temp. La figure 1 illustre la logique de traitement du moteur JSP lors de l'exécution.
Vous ne devez pas utiliser la commande CANCEL nom_processus_serveurapp
pour arrêter un serveur. Chaque fois qu'un serveur est arrêté proprement, le répertoire temp
est supprimé. En revanche, ce répertoire n'est pas supprimé lorsqu'un serveur est arrêté
au moyen de la
commande CANCEL. A terme, si vous utilisez souvent cette commande pour arrêter les serveurs,
la partition HFS dédiée au répertoire temp se remplit et arrive à saturation. Vous pouvez aussi
éviter ce problème de stockage en précompilant vos fichiers JSP au moment où vous installez
l'application ou en utilisant la fonction JspBatchCompiler pour précompiler ces fichiers avant
qu'ils ne soient appelés.
Lorsque des JSP sont compilés au moment de
l'exécution, les mêmes classes générées sont placées dans chaque répertoire
temporaire serviteur.
Ces classes sont ensuite supprimées lorsque le serveur ou le serviteur est
recyclé, ce qui s'avère inefficace et monopolise de l'espace disque pour la
gestion de chacune des copies des classes compilées. Si le serviteur ou le
serveur échoue pour une raison quelconque, ces classes compilées ne sont pas
nettoyées automatiquement. Les classes JSP supprimées doivent également être
recompilées après le redémarrage de chacun des serviteurs.
Le processus a été corrigé et est désormais plus
efficace.
Lorsque des JSP sont compilés au moment de l'exécution, le conteneur JSP
génère les classes compilées dans un répertoire temporaire qui est conservé
après le redémarrage du serveur ou du serviteur.
Le compilateur par lots prend en charge la génération de fichiers classe dans le répertoire temp de WebSphere Application Server et dans le répertoire WEB-INF/classes d'un module web, suivant le type de cible à compiler. De plus, il permet la génération de fichiers classe dans n'importe quel répertoire du système de fichiers, en dehors de l'application cible. La génération des fichiers classe dans le répertoire WEB-INF/classes d'un module web permet le déploiement du module web en tant que fichier WAR (archive Web) autonome ou sous la forme d'un fichier WAR dans un fichier EAR (enterprise archive). Le tableau ci-après décrit le comportement du compilateur par lots lors de la compilation des fichiers classe.
ear.path ou war.path indiqué | enterpriseApp.name indiqué | |
---|---|---|
compileToDir non indiqué ; compileToWebInf non indiqué ou true | Les fichiers classe sont compilés dans le répertoire WEB-INF/classes du module Web | Les fichiers classe sont compilés dans le répertoire WEB-INF/classes du module Web |
compileToDir non indiqué ; compileToWebInf false | Les fichiers classe sont compilés dans le répertoire WEB-INF/classes du module Web | Les fichiers classe sont compilés dans le répertoire temp de WebSphere Application Server, en général profile_root/temp. |
compileToDir indiqué ; compileToWebInf non indiqué ou true ou false | Les fichiers classe sont compilés dans le répertoire spécifié par compileToDir. | Les fichiers classe sont compilés dans le répertoire spécifié par compileToDir. |