How to Upgrade Tomcat

This guide covers manually upgrading the Tomcat install that was included in your initial Yellowfin installation.
In order to follow this guide, you need to have a decent understanding of your local file system, yellowfin environment, and also admin privileges on the machine.

Please keep in mind that Yellowfin may not have tested the particular Tomcat release you are upgrading to, so it may not be fully supported, however the Yellowfin Support Team will assist you as best possible.

...now lets get started.

  1. Download the desired version of Tomcat from Apache here
  2. Extract this to a new folder, and remember where this is, we will come back to it.
  3. Stop Yellowfin.
  4. Backup the following Yellowfin folders/files and copy them to a safe location
    \Yellowfin\appserver\lib
    \Yellowfin\appserver\bin
    \Yellowfin\appserver\conf\server.xml
  5. Remove any files from the \Yellowfin\appserver\bin folder that has 'TomcatX...' 
    Where is the version of Tomcat. 
    E.g. tomcat7.exe, tomcat7.exe.x64, tomcat7w.exe. 
  6. Remove all files from the \Yellowfin\appserver\lib directory
  7. Browse to your downloaded Tomcat folder (from step 2.) and copy the contents of the \lib folder into your Yellowfin\appserver\lib directory
  8. Browse to your downloaded Tomcat folder again (from step 2.) and copy across ANY .jar files from the \bin folder. You want to copy these into the Yellowfin\appserver\bin folder
    Replace any files with same name.
    You'll also want to copy any tomcatx executables over, i.e. tomcat8.exe and tomcat8w.exe.
  9. Open the \Yellowfin\appserver\conf\server.xml file and remove the lines below. Then save
    Listener className="org.apache.catalina.core.JasperListener"
  10. You should now be able to start Yellowfin and have it run under the desired Tomcat version.
    To confirm, check your info.jsp for Application Server details. 

    If you are using a Windows Service to run Tomcat continue below. 

  11. Stop Yellowfin
  12. Remove the current Yellowfin Widows Service by following steps here
  13. Browse to your downloaded Tomcat folder (from step 2.) and copy across the service.bat from the \bin folder into the Yellowfin\appserver\bin folder and replace the existing file.
  14. Open the service.bat you have just copied and add in the following code above set "SELF=%~dp0%service.bat".
    rem ---------------------------------------------------------------------------

    rem Yellowfin Options
    rem set JRE_HOME to value chosen in installer
    set JRE_HOME=C:\Program Files (x86)\Java\jre1.8.0_40
    rem Memory limits.
    rem Set JvmMs to minimum JVM stack size (in Mb)
    rem Set JvmMx to maximum JVM stack size (in Mb)
    set JAVA_OPTS=%JAVA_OPTS% --JvmMs 128 --JvmMx 1024
    rem Fixes for JPivot compatibility with Axis and Java 1.6
    set JVM_OPTS=-Djavax.xml.soap.MessageFactory=org.apache.axis.soap.MessageFactoryImpl
    set JVM_OPTS=%JVM_OPTS%;
    -Djavax.xml.soap.SOAPConnectionFactory=org.apache.axis.soap.SOAPConnectionFactoryImpl
    set JVM_OPTS=%JVM_OPTS%;-Djavax.xml.soap.SOAPFactory=org.apache.axis.soap.SOAPFactoryImpl
    rem set JVM_OPTS=%JVM_OPTS%;
    Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl
    rem If you are experiencing "java.lang.OutOfMemoryError: PermGen space"
    rem errors, uncomment the following line:
    rem set JVM_OPTS=%JVM_OPTS%;-XX:PermSize=64m;-XX:MaxPermSize=256m
    rem Uncomment these options if you are experiencing performance issues with OLAP data sources
    rem set JVM_OPTS=%JVM_OPTS%;-Dorg.olap4j.driver.xmla.XmlaOlap4jCube.lazyLoadMeasures=true
    rem set JVM_OPTS=%JVM_OPTS%;-Dorg.olap4j.driver.xmla.XmlaOlap4jCellSet.lazyMemberLookup=true
    rem ---------------------------------------------------------------------------
    An example of the service.bat post modification has also been attached.

  15. Now install the Tomcat Windows Service from the article here and start it.
Is article helpful?