Oracle Applications Technology Stack – Version 12.0.6 to 12.1.3 [Release 12.0 to 12.1]
Information in this document applies to any platform.
***Checked for relevance on 03-April-2013***
In Release 12 after removing a compiled class files from the JSP pages in the directory $COMMON_TOP/_pages and then bouncing the 10GiAS server, calling JSP pages results in a hanging ‘blank’ screen.
In Release 11i when performing the same steps, new class files are created automatically when the JSP page is called from a browser session and JSP was rendered fine.
In Release 12 it’s observed that when calling the JSP no class file is created in the directory $COMMON_TOP/_pages
Removing a class files from $COMMON_TOP/_pages
The root-cause of the hang is the fact that the JSP is not ‘translated’ into the associated class file in the _pages directory. This is a mandatory step for processing the JSP page.
The reason this is not happening in R12 is because of the following setting the $INST_TOP/ora/10.1.3/j2ee/oacore/application-deployments/oacore/html/orion-web.xml
When main_mode = justrun the OC4J container running the OACoreGroup is told that no compilation on the fly is allowed and only (pre)compiled classes are picked up. Since these have been removed, the processing of the JSP page is blocked.
Use the ojspcompile.pl perl script to perform a manual pre-compilation of the JSP pages. The following command will compile all the JSP pages and build up the JSP cache again.
Unix: # perl $FND_TOP/patch/115/bin/ojspCompile.pl –compile –flush -p 2
Windows: C:> perl -x <FND_TOP>\patch\115\bin\ojspCompile.pl -compile -flush
An alternative is to change the value for the main_mode parameter to recompile (instead of justrun)
This can be achieved with the following steps
- Use the Context editor to change the value for “s_jsp_main_mode” in the <SID>_<hostname>.xml file used by autoconfig and change value from justrun to recompile
- Run Autoconfig to propagate the changes to the configuration files
- Verify that now the $INST_TOP/ora/10.1.3/j2ee/oacore/application-deployments/oacore/html/orion-web.xml has
- Test the scenario failing before.
- See that now a new _<jspname>.class is created when the JSP page is called.
- With ‘justrun’ a fixed set of JSPs are used which will not automatically change. With ‘recompile’ the JSP pages replacing existing ones will recompile automatically while the environment is up and running. This may lead to errors for the users when compilation fails or in having different versions of the JSP being used within a single session.
- Using ‘justrun’ improves performance by skipping the check for compilation being needed.