You can run Magnolia on the Oracle WebLogic Application Server. Include the magnolia-module-weblogic module in your installation or use the WAR file built specifically for WebLogic.
Deploying Magnolia on WebLogic as an exploded archive
If you are deploying Magnolia as an exploded archive, ensure that the
magnolia-module-weblogic is in your application's
WEB-INF/lib folder. Unlike a Tomcat deployment, there are no extra steps to do.
Deploying Magnolia as a WAR file
- Download the Oracle WebLogic WAR file corresponding to your Oracle WebLogic version.
- Rename the WAR file to
magnoliaPublicor to a name that matches the name of your configuration.
These tasks are extra configuration steps necessary to deploy your WAR file on Oracle WebLogic. You need to perform all of the other standard configuration steps.
Oracle WebLogic 10 conflict with commons-lang library
When deploying on Oracle WebLogic, there is a version conflict if using
commons-lang. Note that Oracle WebLogic 10 is distributed with
commons-lang-2.3.jar while Oracle WebLogic 9 is distributed with
commons-lang-2.1.jar. However, JackRabbit and Magnolia 4 (and later releases) need at least
commons-lang-2.4.jar. To resolve this issue, edit
setDomainEnv.sh in Oracle WebLogic and add
PRE_CLASSPATH. As doing this does not remove any methods but only adds new API and fixes known bugs, there are no adverse effects from this change to the Oracle WebLogic installation.
Oracle WebLogic 12c conflict with Bouncy Castle library
Magnolia uses the Bouncy Castle cryptography package to decode the license key and to secure the activation process. Oracle WebLogic 12c is distributed with
bcprov-jdk16-1.45.jar but Magnolia is distributed with
bcprov-jdk16-1.46.jar. This leads to a library version conflict.
Symptom: after inserting valid license key into the Magnolia license form, the error message "License is empty" is displayed.
setDomainEnv.shin Oracle WebLogic and add
bcprov-jdk16-1.45.jarfrom Oracle WebLogic 12c common libraries.
Conflict with SL4J/Log4j libraries
Magnolia uses Apache Log4j and SLF4J as logging libraries for monitoring. Oracle WebLogic 12c has its own Log4j configuration but Magnolia comes with its own log4j.xml configuration. This leads to a library conflict. To ensure the proper loading of Magnolia's own configuration, the
weblogic.xml file in your application's
WEB-INF folder has to be modified with the
Tell Oracle WebLogic Server where your
jaas.config file is located.
setDomainEnv.sh and add the following line.
Character encoding issues
See using multibyte language in Oracle's documentation for insight on character encoding issues you may face when using Oracle WebLogic.
If you experience issues with encoding of characters in JSPs, consider adding the following section to your web.xml to ensure Oracle WebLogic JSP compiler compiles all pages in UTF-8.
Workflow module issues
Magnolia's Oracle WebLogic WAR file comes without the workflow module. The reason behind this is to prevent this issue. However, if you need the workflow module working with Oracle WebLogic, besides installing it, you have the following options:
Option 1: Using the Magnolia 5.3.9 Oracle WebLogic WAR file
Add the following libraries to your application's
- jbpm-human-task-core-6.2.0.Final.jar. You can find the link here.
- jbpm-audit-6.2.0.Final.jar. You can find the link here.
- janino-2.5.16.jar. You can find the link here.
Option 2: Using Maven
Add the following dependencies to your project:
Other known issues
You can check additional known issues related to Oracle WebLogic here.