|
Workaround for Deploying ADF 10.1.2 App Using Intermedia Domains to Oracle AS 9.0.4
The JDeveloper 10.1.2 support matrix indicates that deploying an ADF 10.1.2-based application to Oracle Application Server 9.0.4 is supported after using the ADF Runtime Installer. We will be updating the matrix to include this information, but in the meantime this article might help some people.
We recently discovered an issue with this combination when deploying an ADF 10.1.2 application that uses the Oracle Intermedia Domains (OrdDocDomain, OrdImageDomain, OracleAudioDomain, OrdVideoDomain) to an Oracle AS 9.0.4. The problem relates to the fact that the Intermedia domains that come with ADF 10.1.2 depend on the JDBC 10.1.X driver, while the Oracle AS 9.0.4 server has an earlier 9.X JDBC driver pre-installed. The ADF Runtime Installer does not itself change the JDBC driver of the application server. A symptom that tells you that you might be running into this problem is an error at runtime like:
java.lang.NoClassDefFoundError: oracle/sql/DatumWithConnection
This is a class that is part of the JDBC 10.1.X driver, but which is not present in 9.X JDBC driver.
NOTE: Globally updating the JDBC driver of the Oracle AS 9.0.4 server to use 10.1.0.4 causes incompatibilities with Enterprise Manager, so this approach is not recommended.
The workaround for this issue is to configure Oracle AS 9.0.4 to have a separate OC4J instance where you will deploy your ADF 10.1.2 applications, and to update just that OC4J instance to use the JDBC 10.1.0.4 driver.
Workaround Steps
- Download JDBC driver 10.1.0.4, files ojdbc14.jar and orai18n.jar
- Put the two files on the Oracle AS server in some directory (e.g./home/oracle/jdbc-10.1.0.4)
- Using EnterpriseManager, add a java option for the OC4J instance where your ADF 10.1.2-based application will be deployed:
-Xbootclasspath/p:/home/oracle/jdbc-10.1.0.4/ojdbc14.jar:/home/oracle/jdbc-10.1.0.4/orai18n.jar
Restart the OC4J Instance
Deploy your Application
|