在 Jetty 8.1.3 上部署 Rational Change

要解决无响应的 Jetty 服务器的问题,请在 Jetty 8.1.3 上部署 Rational® Change。

开始之前

注: 如果您要安装 Rational Change 5.3.1,请跳过该步骤。您已准备好将 Jetty 配置为以 HTTPS/SSL 方式运行。
  • 选择已安装最新服务包且已在 Jetty 5.1.14 上部署的 Rational Change 5.2 或 5.3 的任意现有实例。
  • 确保安装了 Jetty 8.1.3。

过程

  1. 将 Rational Change 应用程序目录(位于 CHANGE_APP_HOME/jetty/webapps/)复制到 Jetty 8.1.3 安装区域目录。

    例如,JETTY_HOME/webapps/

    复制目录时,可以忽略 install.log 文件。

    webapps 下 Rational Change 应用程序文件夹名称与安装期间您提供的上下文名称相同。安装包含 Jetty 5.1.14 和 Rational Change 组件。仅将 Rational Change 组件复制到 Jetty 8.1.3 安装区域。

    例如,如果您在 Jetty 5.1.14 上安装 Rational Change 期间创建上下文 foo(在 C:\Program Files\Change52 下安装),那么您必须将 foo 目录从 C:\Program Files\Change52\jetty\webapps\ 复制到 JETTY_HOME/webapps/ 目录。

  2. 除去 JETTY_HOME/webapps/context/WEB-INF/ 目录中 web.xml 文件的以下 servlet 映射标记。
    注: context 目录名称取决于软件的安装方式。
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>/</url-pattern>
    </servlet-mapping>
  3. 更新 web.xml 文件中的端口值。

    例如:

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

    web.xml 文件中的端口值必须通过 Jetty 8.1.3 正在侦听的端口进行更新。Jetty 8.1.3 中的缺省端口值为 8080。

  4. 更新 JETTY_HOME/webapps/context/WEB-INF/classes/ 目录中的 ehcache.xml 文件以更改 diskStore 标记中属性 path 的值。

    新值必须为 JETTY_HOME/webapps/context/WEB-INF/wsconfig/tmpdir

  5. 编辑 JETTY_HOME/webapps/context/WEB-INF/ 目录中的 web.xml 文件以使用 GzipFilter 替换缺省压缩过滤器。

    将以下标记:

    <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>

    替换为以下标记:

    <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. 重新启动 Jetty 8.1.3 服务器。
  7. 请转至 http://hostname:port/context/admin 以访问 Rational Change。

    确保您使用的是已更新的端口号。

    您不能通过使用 http://hostname:port/context/ 访问 Rational Change 用户界面。

  8. 如果您看到错误消息 There is an error in invoking javac. A full JDK (not just JRE) is required,请将以下标记添加到 JETTY_HOME/etc/ 目录的 jetty.xml 文件中,然后重新启动服务器。
    <Call class="java.lang.System" name="setProperty">
    <Arg>org.apache.jasper.compiler.disablejsr199</Arg>
    <Arg>true</Arg>
    </Call>
  9. 启用新 URL 的搜索索引。

    如果由于移动至新机器或端口值发生更改而更改了 URL,那么您必须删除 JETTY_HOME/webapps/change1/WEB-INF/wsconfig/system 目录中的 search.lock 文件,或编辑 search.lock 文件以更新应用程序 URL。

  10. 配置表单内容大小。

    如果您通过生命周期编辑器保存了流程文件,并且收到错误 Failed to parse attachment data. Form too large465666>200000,那么在 Rational Change 安装 WEB-INF 目录中创建 jetty-web.xml 文件。 然后,重新启动 Jetty 服务器。该文件必须包含标记 <Set name="maxFormContentSize">1000000</Set>。该标记确定表单内容大小。

    您可以编辑该值来增大或减小表单内容大小。以下是该文件的内容:

    <?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>

下一步做什么

现在,您已准备好将 Jetty 配置为以 HTTPS/SSL 方式运行

反馈