ICEfaces Deployment & Configuration Instructions for OC4J 10.1.3
Configuring web.xml for OC4J
Due to a bug in the OC4J servlet "forward" feature, you must configure a non-standard web.xml file (not the one included in the ICEfaces bundle) in order for ICEfaces applications to run correctly on the OC4J server.
The reason for this is that the request parameter is not properly forwarded and updated in the destination servlet inside OC4J J2EE container (OC4J bug). The workaround is to have the destination servlet handle the request directly in all cases. Fortunately, ICEfaces 1.6 supports an unofficial servlet ("com.icesoft.faces.webapp.http.servlet.MainServlet") that can be configured to handle all ICEfaces requests. Refer to the custom "web.xml" file attached to this article for configuration details.
You can also copy the custom web.xml file attached to this article into the "conf/" folder of an ICEfaces sample application (replacing the original web.xml), then build the application with ANT.
Note that the "com.icesoft.faces.webapp.http.servlet.MainServlet" API is not final and may change in future releases of ICEfaces.
JARs needed for ICEfaces applications to run on OC4J
(The following jars are automatically included when ICEfaces sample apps. are built using the included ANT script)
- xml-apis.jar - xercesImpl.jar - krysalis-jCharts-1.0.0-alpha-1.jar - jstl.jar - jsf-impl.jar - jsf-api.jar - icefaces-comps.jar - icefaces.jar - el-api.jar - commons-logging.jar - commons-fileupload.jar - commons-el.jar - commons-discovery.jar - commons-digester.jar - commons-collections.jar - commons-beanutils.jar - backport-util-concurrent.jar
OC4J Configuration
Since ICEfaces doesn't support session serialization (as of v1.6), you must configure the "distributable" parameter to false for all ICEfaces applications (the default value for this attribute is set to true).
You can set it in Administration->System MBean Browser->J2EEApplication->[application name]->WebModule->[application name]. Select the "Operations" tab and choose "setDistributable". Invoke the operation and restart the application.
Deployment
Follow the instructions in the OC4J Application Server Control application to deploy the sample application war file to OC4J J2EE container.
|