Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • If you deploy using WAR files, remove the JAR from the archive, for example with the following Unix command: zip -d path-to-magnolia.war WEB-INF/lib/xercesImpl-2.8.1.jar
  • If you deploy using an exploded directory, remove the WEB-INF/lib/xercesImpl-2.8.1.jar file.

See 

Jira
serverMagnolia - Issue tracker
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyMAGNOLIA-2577
 for for details.

JBoss AS 7 class loading issue with Weld

...

JBoss AS 7 requires that you deploy a gwt-user.jar when deploying a Vaadin application such as Magnolia CMS. Magnolia does not need the JAR at runtime but if you don't supply it JBoss AS 7 will throw an error:

...

To resolve this issue, download  gwt-user.jar  and copy it into the Web application's classpath. 

Include Page
_What is a classpath
_What is a classpath

Oracle WebLogic 9 conflict with JDOM library

Oracle WebLogic 9 also ships with an old version of JDom which later leads to issues in parsing of XML documents. Issues will be noted as exceptions such as:

...

To resolve, provide newer JDOM/Jaxen libraries by adding jdom-1.0.jarjaxen-1.0-FCS-full.jarxom-1.1.jar and saxpath-1.0-FCS.jar to PRE_CLASSPATH variable in the setDomainEnv.sh script.

Oracle WebLogic 10 conflict with commons-lang library

When deploying on Weblogic Oracle WebLogic 10, there is a version conflict while using commons-lang. While WeblogicOracle WebLogic-10 is distributed with commons-lang-2.3.jar, JackRabbit and Magnolia CMS need at least commons-lang-2.4.jar. To resolve this issue, modify setDomainEnv.sh of Weblogic Oracle WebLogic and add commons-lang-2.4.jar to the PRE_CLASSPATH. Since version 2.4 commons-lang doesn't remove any methods, but only adds new API and fixes known bugs, there is no adverse effect from this change to the Weblogic 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. WebLogic  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.

...

To resolve, do one of the following:

  • Edit setDomainEnv.sh in Oracle WebLogic and add bcprov-jdk16-1.46.jar to PRE_CLASSPATH or
  • Remove bcprov-jdk16-1.45.jar from Oracle WebLogic 12c common libraries.

Oracle WebLogic and IBM WebSphere deployment issue with jBPM 6

jBPM 6 cannot be deployed on Oracle WebLogic or IBM WebSphere. jBPM is included in the Magnolia Workflow module. All deployment methods are affected: Administration Console, weblogic.Deployer, wldeploy Ant task and autodeploy directory.

...

  1. Deploy an application which doesn't contain Magnolia Workflow with jBPM6, for example Magnolia 5.2.2 or Magnolia 5.3 without the Workflow module.
  2. In the deployment target location, replace the deployed webapp with a new webapp that contains workflow with jBPM6
  3. Magnolia 5.3 without the Workflow module.
  4. In the deployment target location, replace the deployed webapp with a new webapp that contains workflow with jBPM6

Oracle WebLogic 12c conflict with Google Guava library

Magnolia cannot render images stored in dam workspace. Google Guava library is used by the DAM API 2.0 which is used for rendering of images.

Symptom:

Code Block
languagenone
java.lang.RuntimeException: java.lang.NoClassDefFoundError: Could not initialize class com.google.common.cache.LocalCache

Workaround:

 Modify the weblogic.xml file in your application's WEB-INF folder with the prefer-application-packages  element:

Code Block
languagexml
firstline1
<container-descriptor>
   <prefer-application-packages>
	 <package-name>com.google.common.*</package-name>
   </prefer-application-packages>
</container-descriptor>

Mac OS X 10.5 - Leopard

If you use Mac OS X 10.5 or 10.6, you should update to at least 10.5.8 or 10.6.2. Earlier versions cause issues where, when two or more instances are started in the same container, some or all connections are dropped.

...

  1. Find the current maximum number of open files per user in a single session: 
    ulimit -n 
    By default the number is 1024 which is too small.
  2. Edit the limits.conf file: 
    sudo gedit /etc/security/limits.conf
  3. Add the following lines to the file: 
    * soft nofile 10000 
    * hard nofile 50000 
    This sets for all users a soft limit of 10000 open files and a hard limit of 50000. These are just example numbers. Set them according to your system needs. Note that the wildcard option applies only to regular users, not to superuser. If you run Magnolia CMS as superuser replace the asterisk with root.
  4. Save the file.
  5. Edit the configuration file for session-related modules: 
    sudo gedit /etc/pam.d/common-session
  6. Add the following line to the file: 
    session required pam_limits.so
  7. Save the file.
  8. Restart Ubuntu.
  9. Verify the new maximum number of open files: 
    ulimit -n 
    The command should now return 10000.

...

  1. Open <CATALINA_HOME>/conf/server.xml in a text editor. This file is under your Magnolia CMS installation directory.
  2. Find the following section and set the value of port to something other than 8080, for example 8090:

    Code Block
    xml
    xml
    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <Connector port="8090" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />
    

...

  1. Log into the author instance at  http://localhost:8090/magnoliaAuthor/.magnolia .
  2. Go to Configuration.
  3. Set the value of /server/defaultBaseUrl property to http://localhost:8090/magnolia/
  4. Log into the public instance at  http://localhost:8090/magnoliaPublic/.magnolia .
  5. Go to Configuration.
  6. Set the value of /server/defaultBaseUrl property to http://localhost:8090/magnolia/

Now the Welcome page at http://localhost:8090 has the correct URLs too.

...

  1. On the author instance, go to Configuration > Activation > Subscribers.
  2. Under the magnoliaPublic8080 subscriber, set the URL property to  http://localhost:8090/magnoliaPublic
  3. Rename the subscriber to magnoliaPublic8090.
  4. Activate the modified subscriber including its subnodes.
Info

If you want to run two different Tomcats simultaneously you need to change other ports too. This is useful if you want to run different versions of Magnolia CMS at the same time. In <CATALINA_HOME>/conf/server.xml, change the port numbers for the shutdown and AJP sections and any custom sections you have enabled.

...

CATALINA_HOME environment variable identifies the Tomcat home directory, for example C:\Program Files\magnolia\apache-tomcat. Usually Magnolia CMS finds this directory automatically. When you type magnolia_control.bat start in the bin directory to start the system, a second script named startup.bat tries to find Tomcat home. It assumes that Tomcat home is one level above the bin directory where you issued the command, and sets the value of CATALINA_HOME to that directory.

...

If the Java Virtual Machine (JVM) does not have enough memory you may see a  java.lang.OutOfMemoryError  in the startup log and Magnolia CMS fails to start.

Code Block
xml
xml
Exception in thread "Timer-1" java.lang.OutOfMemoryError: Java heap space
at org.apache.jackrabbit.core.query.lucene.IndexingQueue.getFinishedDocuments

...

  1. Stop the server. 
    ./magnolia_control.sh stop
  2. Open file /apache-tomcat/bin/setenv.sh (/apache-tomcat/bin/setenv.bat on Windows) in a text editor.
  3. Edit the Xmx parameter to set a new maximum heap size. Default size for Magnolia CMS is 512M, try a higher amount such as 1024M.
  4. Save the file and start the server. 
    ./magnolia_control.sh start && tail -f ../logs/catalina.out

...