Geração do Arquivo de Classe JSP
No tempo de execução, o mecanismo JavaServer Pages (JSP) do WebSphere Application Server carrega arquivos de classes JSP a partir do diretório temp do WebSphere Application Server ou do diretório WEB-INF/classes do módulo da Web. Primeiro, o mecanismo JSP procura por um arquivo de classe no diretório temp e, em seguida, procura no diretório WEB-INF/classes do módulo da Web.
Em uma instalação padrão, o diretório temp do WebSphere Application Server normalmente é profile_root/temp. A Figura 1 mostra a lógica do processo do mecanismo JSP no tempo de execução.
Você não deve utilizar o comando CANCEL appserver_proc_name para parar um servidor. Todas as vezes que um servidor é parado de forma limpa, esses diretórios temp são removidos. No entanto, se o servidor não for parado de forma limpa com frequência, o que acontece se você cancelar em vez de parar o servidor, esses diretórios não serão removidos e o HFS utilizado para o diretório temp com o tempo se tornará cheio. Também
é possível evitar que ocorra este problema de armazenamento, se você pré-compilar seus
arquivos JSP quando instalar um aplicativo ou se utilizar a função JspBatchCompiler
para pré-compilá-los antes de serem chamados.
Quando JSPs são compilados no tempo de execução, as mesmas classes geradas são postas em cada diretório temporário
do servant.
Essas classes são excluídas quando o servidor ou servant é reciclado, o que é ineficiente e leva a um uso de espaço de disco aumentado para
manter cada cópia das mesmas classes compiladas. Se o servant ou servidor falhar por qualquer motivo, essas classes compiladas não são limpas automaticamente. Além
disso, as classes JSP excluídas têm de ser recompiladas após cada servant ser reiniciado.
A ineficiência acima foi corrigida.
Quando JSPs são compilados no tempo de execução, o contêiner JSP gera as classes compiladas em um diretório temporário de servidor comum que
persiste após o servidor ou servant ser reiniciado.
O compilador de lotes suporta a geração de arquivos de classes no diretório temp do WebSphere Application Server e um diretório WEB-INF/classes do módulo da Web, dependendo do tipo do destino do compilador de lotes. Além disso, o compilador de batch permite a geração de arquivos de classe em qualquer diretório no sistema de arquivos, fora do aplicativo de destino. A geração de arquivos de classes em um diretório WEB-INF/classes do módulo da Web permite implementar o módulo da Web como um arquivo Web Application Archive (WAR) autocontido ou um arquivo WAR dentro de um arquivo archive corporativo (EAR). A tabela a seguir mostra o comportamento do compilador de batch ao compilar os arquivos de classe.
ear.path ou war.path fornecido | enterpriseApp.name fornecido | |
---|---|---|
compileToDir não fornecido; compileToWebInf não fornecido ou true | Os arquivos de classe são compilados no diretório WEB-INF/classes do módulo da Web. | Os arquivos de classe são compilados no diretório WEB-INF/classes do módulo da Web. |
compileToDir não fornecido; compileToWebInf é false | Os arquivos de classe são compilados no diretório WEB-INF/classes do módulo da Web. | Os arquivos de classe são compilados no diretório temp do WebSphere Application Server, normalmente profile_root/temp. |
compileToDir é fornecido; compileToWebInf não fornecido ou é true ou false | Os arquivos de classe são compilados no diretório indicado por compileToDir. | Os arquivos de classe são compilados no diretório indicado por compileToDir. |