Deploying Rational Change on Jetty 8.1.3

To resolve unresponsive Jetty server issues, deploy Rational® Change on Jetty 8.1.3.

Before you begin

Note: If you are installing Rational Change 5.3.1, skip this step. You are ready to configure Jetty to run in HTTPS/SSL mode.
  • Choose any existing instance of Rational Change 5.2 or 5.3 that has the latest service pack that is installed and is deployed on Jetty 5.1.14.
  • Ensure that Jetty 8.1.3 is installed.

Procedure

  1. Copy the Rational Change application directory (at CHANGE_APP_HOME/jetty/webapps/) to the Jetty 8.1.3 installation area directory.

    For example, JETTY_HOME/webapps/

    You can ignore the install.log file while the directory is copying.

    The Rational Change application folder name under webapps is the same as the context name you provided during installation. The installation has both Jetty 5.1.14 and Rational Change components. Copy only the Rational Change components to the Jetty 8.1.3 installation area.

    For example, if you created a context foo during the Rational Change installation on Jetty 5.1.14 (installed under C:\Program Files\Change52), you must copy the foo directory from C:\Program Files\Change52\jetty\webapps\ to the JETTY_HOME/webapps/ directory.

  2. Remove the following servlet mapping tag from the web.xml file in the JETTY_HOME/webapps/context/WEB-INF/ directory.
    Note: The context directory name varies, depending on how you installed the software.
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>/</url-pattern>
    </servlet-mapping>
  3. Update the port value in the web.xml file.

    For example:

    <context-param>
    <param-name>port</param-name>
    <param-value>8080</param-value>
    </context-param>

    The port value in the web.xml file must be updated with the port that Jetty 8.1.3 is listening to. The default port value in Jetty 8.1.3 is 8080.

  4. Update the ehcache.xml file in the JETTY_HOME/webapps/context/WEB-INF/classes/ directory to change the value of attribute path within the diskStore tag.

    The new value must be JETTY_HOME/webapps/context/WEB-INF/wsconfig/tmpdir.

  5. Edit the web.xml file in the JETTY_HOME/webapps/context/WEB-INF/ directory to replace the default Compression filter with GzipFilter.

    Replace these tags:

    <filter>
    <filter-name>CompressingFilter</filter-name>
    <filter-class>compressionFilters.CompressionFilter</filter-class>
    <init-param>
    <param-name>compressionThreshold</param-name>
    <param-value>1024</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>CompressingFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    With the following tags:

    <filter>
    <filter-name>GzipFilter</filter-name>
    <filter-class>org.eclipse.jetty.servlets.GzipFilter</filter-class>
    <init-param>
    <param-name>mimeTypes</param-name>
    <param-value>text/html,text/plain,text/xml,application/xhtml+xml,text
    /css,application/javascript,image/svg+xml</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>GzipFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
  6. Restart the Jetty 8.1.3 server.
  7. Go to http://hostname:port/context/admin to access Rational Change.

    Ensure that you use the updated port number.

    You cannot access the Rational Change user interface by using http://hostname:port/context/.

  8. If you see the error message There is an error in invoking javac. A full JDK (not just JRE) is required, add the following tags to the jetty.xml file in the JETTY_HOME/etc/ directory, and then restart the server.
    <Call class="java.lang.System" name="setProperty">
    <Arg>org.apache.jasper.compiler.disablejsr199</Arg>
    <Arg>true</Arg>
    </Call>
  9. Enable the search indexing for the new URL.

    If this movement changes the URL because of the move to a new machine or a port value change, you must delete the search.lock file from the JETTY_HOME/webapps/change1/WEB-INF/wsconfig/system directory or edit the search.lock file to update the application URL.

  10. Configure the form content size.

    If you saved the process file from the lifecycle editor and you receive the error Failed to parse attachment data. Form too large465666>200000, create the jetty-web.xml file in the Rational Change installation WEB-INF directory. Then, restart the Jetty server. This file must contain the tag <Set name="maxFormContentSize">1000000</Set>. This tag determines the form content size.

    You can edit the value to increase or decrease the form content size. Here is the content of the file:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD 
    Configure//EN"
    "http://jetty.mortbay.org/configure.dtd">
    <Configure class="org.eclipse.jetty.webapp.WebAppContext">
    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
    <!-- Max Form Size -->
    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
    <Set name="maxFormContentSize">1000000</Set>
    </Configure>

What to do next

Now you are ready to configure Jetty to run in the HTTPS/SSL mode.

Feedback