Generación de archivos de clase JSP
Durante la ejecución, el motor JSP (JavaServer Pages) de WebSphere Application Server carga archivos de clase JSP del directorio temp de WebSphere Application Server o de un directorio WEB-INF/classes del módulo web. El motor JSP primero busca los archivos de clase en el directorio temp y luego busca en el directorio WEB-INF/classes del módulo web.
En una instalación por omisión, el directorio temp de WebSphere Application Server suele ser raíz_perfil/temp. En la Figura 1 se muestra la lógica de proceso del motor JSP durante la ejecución.
No debe utilizar el mandato CANCEL
nombre_proc_servidoraplic para detener un servidor. Cada vez que se detiene
correctamente un servidor, se eliminan los directorios temp. No obstante,
si el servidor no se detiene correctamente con frecuencia, esto es, si se cancela en
lugar de detenerlo, estos directorios no se eliminan y el HFS que se utiliza para el
directorio temp puede llegar a llenarse. También puede impedir que se produzca este
problema de almacenamiento si compila previamente los archivos JSP cuando instala una
aplicación o si utiliza la función JspBatchCompiler para compilarlas previamente
antes de invocarlas.
Cuando los JSP se compilan en tiempo de
ejecución,las mismas clases generadas se colocan en cada directorio temporal
de sirviente. Esas clases luego se suprimen cuando el servidor o sirviente
se detiene y reinicia, lo cual no es eficiente y conduce a una mayor
utilización del espacio de disco para contener cada copia de las mismas
clases compiladas. Si el sirviente o servidor falla por cualquier razón,
estas clases compiladas no se eliminan de forma automática. Además, las
clases JSP suprimidas se deben volver a compilar después de que se reinicie
cada sirviente.
La ineficiencia descrita anteriormente se ha
corregido. Cuando los JSP se compilan en tiempo de ejecución, el contenedor
JSP genera las clases compiladas en un directorio temporal común de servidor
que persiste después de que se reinicie el servidor o sirviente.
El compilador por lotes da soporte a la generación de archivos de clase en el directorio temp de WebSphere Application Server y en el directorio WEB-INF/classes de un módulo web, dependiendo del tipo de destino del compilador por lotes. Asimismo, el compilador por lotes permite la generación de archivos de clase en cualquier directorio del sistema de archivos, fuera de la aplicación de destino. La generación de archivos de clase en un directorio WEB-INF/classes del módulo web permite desplegar el módulo web como un archivo WAR (Web Archive) auto-contenido o un WAR dentro de un archivo EAR (Enterprise Archive). En la tabla siguiente se muestra el comportamiento del compilador por lotes cuando se compilan archivos de clase.
ear.path o war.path proporcionado | enterpriseApp.name proporcionado | |
---|---|---|
No se suministra compileToDir; no se suministra compileToWebInf o es true | Los archivos de clase se compilan en el directorio WEB-INF/classes del módulo web. | Los archivos de clase se compilan en el directorio WEB-INF/classes del módulo web. |
No se suministra compileToDir; compileToWebInf es false | Los archivos de clase se compilan en el directorio WEB-INF/classes del módulo web. | Los archivos de clase se compilan en el directorio temp de WebSphere Application Server, normalmente raíz_perfil/temp. |
Se suministra compileToDir; no se suministra compileToWebInf, o bien, es true o false | Los archivos de clase se compilan en el directorio indicado por compileToDir. | Los archivos de clase se compilan en el directorio indicado por compileToDir. |