PQ67354, 4.0.4/4.0.5: JSPbatch compiler fails with
EAR in horizontal clone env.
Downloadable files
Abstract
JSP batch compiler fails if EAR is installed in a
different directory on horizontal clone.
Download Description
PQ67354 resolves the following problem:
USERS AFFECTED:
WebSphere® Application Server users who batch compile JSPs deployed in a
horizontally cloned environment.
PROBLEM DESCRIPTION:
WebSphere Application Server cannot properly locate the installed ear
directory for JSPs installed in a server group environment. WebSphere
Application Server throws a NullPointerException when attempting to
compile a directory when an ear file is deployed in a horizontally cloned
environment. The JSPBatchCompiler was unable to match the correct
installation directory for the node that was being compiled. If the
directory structure was the same on both machines, this operation was
performed successfully. Stack trace looks like the following on the base
WebSphere Application Server V4.0.3 installation:
java.lang.NullPointerException
at
org.apache.jasper.compiler.ibmtools.AEBatchC.compileDir(AEBatchC.java:373)
at
org.apache.jasper.compiler.ibmtools.AEBatchC.buildTempDirectoryAndCompile(AEBatchC.java:324)
at
org.apache.jasper.compiler.ibmtools.AEBatchC.compileEnterpriseApp(AEBatchC.java:189)
at org.apache.jasper.compiler.ibmtools.AEBatchC.compile(AEBatchC.java:155)
at
org.apache.jasper.compiler.ibmtools.JspBatchCompiler.compile(JspBatchCompiler.java:17)
at
org.apache.jasper.compiler.ibmtools.JspBatchCompiler.main(JspBatchCompiler.java:28)
at java.lang.reflect.Method.invoke(Native Method)
at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:158)
This directory can be different for multiple reasons. It can be different
if the WebSphere Application Server installation is different from one
machine. An example would be where one node1 has installed WebSphere
Application Server in /opt/WebSphere/AE and node2 has installed WebSphere
Application Server in /opt/WebSphere/AppServer. Then the EAR would be
installed as follows:
The runtime for this example will behave as expected but the
jspBatchComple will not work on one of the nodes.
Another example would exist if after installing the EAR, the EAR's install
directory is changed as with WebSphere Commerce Suite.
PROBLEM CONCLUSION:
WebSphere Application Server was incorrectly matching the primary node on
which the ear was installed on instead of the requested node's install
directory when batch compiling. At compile time, the batch compile will
request the information from the node that is being compiled to obtain the
correct install directory information.
The workaround to the above situations is to make each node's install name
for both WebSphere Application Server and the EAR file identical.
Prerequisites
none
Installation Instructions
Please refer to the readme for detailed installation
instructions.