Home » Oracle » Oracle Ebuisness Suite » Oracle’s Containers for J2EE (OC4J) in R12

Oracle’s Containers for J2EE (OC4J) in R12

Oracle’s Containers for J2EE (OC4J)

– OC4J stands for Oracle’s Containers for J2EE. OC4J can execute Servlets, Java Server Pages (JSP), Enterprise Java Beans (EJB)
-OC4J replaces the older JServ implementation for running servlets on the web server
-Oracle Application Server 10gR3 (10.1.3) is the latest production version
-OC4J is based on J2EE standards:Specific directory structure,File requirements (content & naming conventions),XML file definition
-OC4J instances run in JVM’s and communicate through mod_oc4j / Apache
-Deployment is through an Enterprise Archive (EAR) file, which contains the application definition and Web Application (WAR) files, which in turn includes the web application code (JAR), and associated configuration files (servlet definitions), JSP code,HTML
-OC4J is actually the Orion application server from Ironflare, that Oracle licensed and rebranded.

Oracle’s Containers for J2EE (OC4J) in R12


Oracle EBS R12 creates 3 OC4J instances

OACORE : runs Oracle Applications Framework-based applications
FORMS : runs Forms-base applications
OAFM : runs web services, map-viewer, ascontrol


Number of OC4J instances for each group will be determined by corresponding nprocs context variable ( s_oacore_nprocs, s_forms_nprocs/s_frmsrv_nprocs, s_oafm_nprocs).

-Servlets deployed to OC4J server adhere to J2EE specification

-Forms.EAR 10.1.2 is deployed to the OC4J container in Application Server 10.1.3
AutoConfig is used for configuration management, similar to Release 11i


Important files used for configuration of OC4J instances
Oc4j.properties : defines basic Apps directory aliasing,dbc file location is defined in this file
Server.xml : defines J2EE applications and their shared libraries for runtime OC4J
Orion-application.xml : defines location of Java classes of all J2EE web modules deployed under J2EE application
Orion-web.xml : defines servlet level parameters for J2EE web modules

See also  How to restart and skip the job from AD Controller ( ADCTRL)

These files are synonymous with jserv.conf, jserv.properties in 11i

Oracle Process Manager and Notification server (OPMN) manages AS components and consists of:
-Oracle Notification Server (ONS):Delivers notifications between components
OHS ->OPMN ->OC4J
-Process Manager (PM) start,stop, restart, death detection
($ADMIN_SCRIPTS_HOME contains the Apps equivalent scripts called ad*)
-Single configuration file(opmn.xml) is used OPMN to manage the services. Config file location is given as $ORA_CONFIG_HOME/10.1.3/opmn/conf/opmn.xml

Services managed by opmn via opmnctl are

1) HTTP_Server
2) oacore
3) forms
4) oafm

Some more feature related to R12 OC4J 

-There is a new parameter defined in R12 : s_oacore_append.classpath

This parameter is used to add custom jar files to OC4J

-There is a new parameter defined in R12 : s_jsp_main_mode
s_jsp_main_mode values could be just run or recompile

Just run means it will try run the jsp…if the jsp is not compiled ,,it will fail
recompile means it will compile the jsp at run time.

Its value can be seen in the file

$INST_TOP/ora/10.1.3/j2ee/oacore/application-deployments/oacore/html/orion-web.xml

-Recompile the JSP manually using the following steps:

cd $FND_TOP/patch/115/bin
perl ojspCompile.pl –compile –flush -p 2

-adopmnctl.sh status in $ADMIN_SCRIPTS_HOME can be used to see the status of IAs components
-s_oacore_prepend_classpath,s_oacore_append_classpath variables are there
The Prepend classpath would be useful if the customer would want to override any of the default class libraries with custom class library. java bootstrap class loader searches for the classes from left to right of the CLASSPATH).
The append classpath would be useful if the customer wants additional custom class libraries, that he/she might want to use without accidentally overriding the class implementations specified in the default class library.

See also  How to check/change Workflow Notification mailer configuration from backend

Also Read
How to deploy application to OC4J

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top