Schlagwort-Archiv: unsupported operation

Using log4j2 in an Oracle ADF 12c Application

Configure ADF12c application to work with log4j2

One of our customers had the requirement to use log4j 2 in his ADF 12c application. When executing his code

an UnsupportedOperationException was thrown.

To resolve this issue you can configure your ADF12c application to use a specific implementation of DocumentBuilderFactory. This is quite simple and straightforward. Just configure your weblogic specific deployment descriptor (weblogic-application.xml) to use

as application’s DocumentBuilderFactory implementation. This is what worked for us. Other implementations of DocumentBuilderFactory might be valid, too. To configure the DocumentBuilderFactory you can use JDeveloper tooling:

This will put the following lines into your weblogic-application.xml:

To dodge possible other unsupported operations, we also provided values for SAX Parser Factory and Transformer Factory:

  • SAX Parser Factory: com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
  • Transformer Factory: com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl

The screenshot below shows our configuration:

 

Prerequisites

The following JARs have been added to project’s classpath:

  • log4j-api-2.1.jar
  • log4j-core-2.1.jar
  • log4j-web-2.1.jar

These files are contained within the log4j2 download package.

Follow ups

Without providing any configuration file log4j2 will log our messages on console. To configure another behavior just put a configuration file into your project’s src directory (e.g.  ./Model/src or ./ViewController/src).  The  configuration file itself can be written in XML, JSON, or YAML. For more information on the expected syntax have a look at log4j2’s official documentation.