Wednesday, March 9, 2011

OC4J and support for 64bit JVM

OC4J supports 32bit JVMs only on Windows x64 platforms. OC4J, starting from 10.1.3.4, supports using an external JVM for an instance.

But no where it to be found, in any of the documents, about not using a 64bit JVM for a newly created OC4J(custom) instance.

The ability to plug in a JVM may pave the way for using a 64bit JVM in a 32bit install, if that instance runs pure JAVA applications (no JNI based code). So we added necessary data elements to opmn.xml to start an OC4J instance using a 64bit JVM.
Everything is looking good since then and all applications (JAVA only) are seen to be working ok on this instance. This instance also shows up in the enterprise manager console, but seemed to take up a little more memory than a 32bit version would do at start up or run time. This could be related to how addresses are aligned in a 64bit executable.

We have it running for a few weeks in dev now (home and oc4j_soa in 32bit JVM and oc4j_apps in 64bit JVM) and did not see any issues so far. I will keep updating this blog if I come across any issues in the future.

Monday, March 7, 2011

DB Adapter configurations not recognized after 10.1.3.5 migration

Oracle DB adapter configurations (connector configurations), though present in J2EE_HOME/application-deployments/default/DbAdapter/oc4j-ra.xml not recognized after upgrading to OC4J 10.1.3.5 from 10.1.3.4 (mlr#10).

The issue was seen to be related to the presence "usesSkipLocking" attribute for a connector definition. Removing this attribute (XPath exp: ...config-property/@name[.='usesSkipLocking']) from definitions in oc4j-ra.xml and then restarting the OC4J container seemed to bring them back.