OC4J installation

Last modified by Vincent Massol on 2017/09/06

These instructions cover Oracle Application Server 10.1.3.1.0; other versions may differ.

Choose/prepare a XWiki distribution

The 'web standard hsqldb.war' build will work right out of the box if you don't mind it storing its own HSQL database files in ...oracle/product/10.1.3.1/OracleAS_1/j2ee/home/database/.

Note that the database directory already exists within the OAS install and is used for other things so you may want to change this directory by editing hibernate.cfg.xml in the .war file. Another option is to edit hibernate.cfg.xml after it has been deployed to the server.

Install XWiki as an OC4J webapp

Install XWiki using the Oracle Enterprise Manager webapplication in an already working OAS installation.

As of 10.1.3.x the Manager webapp is located at the following address: http://server_address/em/

Click on an OC4J instance, then click the "Applications" tab and then "Deploy".

Choose the xwiki.war file you have downloaded. 

On the third deployment page you will be given the option to "Edit Deployment Plan". Click this, open the "war" tree segment on the left, click "xwiki", scroll down and click "Edit webAppClassLoader", change "searchLocalClassesFirst" to "true", click "Continue" and then "Ok".

Configuring XWiki to use the OC4J Logger

Inside your xwiki.war file find WEB-INFcommons-logging.properties.

As a default it looks like this: org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl

To make it use "Oracles Logging" modify it to look like this: org.apache.commons.logging.LogFactory=oracle.core.ojdl.log4j.OracleAppender

Making the above change also prevents a deployment time error:

[Jun 4, 2009 12:44:46 PM] Operation failed with error: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor
[Ljava.lang.Class;@15ae0ff for org.apache.commons.logging.impl.Log4JLogger
(Caused by java.lang.NoClassDefFoundError: org/apache/log4j/Category)
(Caused by org.apache.commons.logging.LogConfigurationException: No suitable Log constructor
[Ljava.lang.Class;@15ae0ff for org.apache.commons.logging.impl.Log4JLogger
(Caused by java.lang.NoClassDefFoundError: org/apache/log4j/Category))

Get Connected