<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../User_Guide.ent">
%BOOK_ENTITIES;
]>
<chapter id="mod_jk">
  <title>Migration from mod_jk</title>

  <para>Mod_cluster only support Apache httpd, there are no plan to support
  IIS or Iplanet.</para>

  <para>The migration from mod_jk to mod_cluster is not very complex. Only
  very few worker properties can't be mapped to mod_cluster parameters.</para>

  <para>Here is the table of worker properties and how to transfer them in the
  ClusterListener parameters.</para>

  <informaltable frame="all">
    <tgroup cols="3">
      <thead>
        <row>
          <entry><para>mod_jk worker property</para></entry>

          <entry><para>ClusterListener parameter</para></entry>

          <entry><para>Remarks</para></entry>
        </row>
      </thead>

      <tbody>
        <row>
          <entry><para>host</para></entry>

          <entry><para>-</para></entry>

          <entry><para>It is read from the &lt;Connector/&gt; Address
          information</para></entry>
        </row>

        <row>
          <entry><para>port</para></entry>

          <entry><para>-</para></entry>

          <entry><para>It is read from the &lt;Connector/&gt; Port
          information</para></entry>
        </row>

        <row>
          <entry><para>type</para></entry>

          <entry><para>-</para></entry>

          <entry><para>It is read from the &lt;Connector/&gt; Protocol
          information</para></entry>
        </row>

        <row>
          <entry><para>route</para></entry>

          <entry><para>-</para></entry>

          <entry><para>It is read from the &lt;Engine/&gt; JVMRoute
          information</para></entry>
        </row>

        <row>
          <entry><para>domain</para></entry>

          <entry><para>domain</para></entry>

          <entry><para>That is not supported in this version</para></entry>
        </row>

        <row>
          <entry><para>redirect</para></entry>

          <entry><para>-</para></entry>

          <entry><para>The nodes with loadfactor = 0 are standby nodes they
          will be used no other nodes are available</para></entry>
        </row>

        <row>
          <entry><para>socket_timeout</para></entry>

          <entry><para>nodeTimeout</para></entry>

          <entry><para>Default 10 seconds</para></entry>
        </row>

        <row>
          <entry><para>socket_keepalive</para></entry>

          <entry><para>-</para></entry>

          <entry><para>KEEP_ALIVE os is always on in
          mod_cluster</para></entry>
        </row>

        <row>
          <entry><para>connection_pool_size</para></entry>

          <entry><para>-</para></entry>

          <entry><para>The max size is calculated to be AP_MPMQ_MAX_THREADS+1
          (max)</para></entry>
        </row>

        <row>
          <entry><para>connection_pool_minsize</para></entry>

          <entry><para>smax</para></entry>

          <entry><para>The defaut is max</para></entry>
        </row>

        <row>
          <entry><para>connection_pool_timeout</para></entry>

          <entry><para>ttl</para></entry>

          <entry><para>Time to live when over smax connections. The defaut is
          60 seconds</para></entry>
        </row>

        <row>
          <entry><para>-</para></entry>

          <entry><para>workerTimeout</para></entry>

          <entry><para>Max time to wait for a free worker default 1
          second</para></entry>
        </row>

        <row>
          <entry><para>retries</para></entry>

          <entry><para>maxAttempts</para></entry>

          <entry><para>Max retries before returning an error Default:
          3</para></entry>
        </row>

        <row>
          <entry><para>recovery_options</para></entry>

          <entry><para>-</para></entry>

          <entry><para>mod_cluster behave like mod_jk with value
          7</para></entry>
        </row>

        <row>
          <entry><para>fail_on_status</para></entry>

          <entry><para>-</para></entry>

          <entry><para>Not supported</para></entry>
        </row>

        <row>
          <entry><para>max_packet_size</para></entry>

          <entry><para>iobuffersize/receivebuffersize</para></entry>

          <entry><para>Not supported in this version. Use
          ProxyIOBufferSize</para></entry>
        </row>

        <row>
          <entry><para>max_reply_timeouts</para></entry>

          <entry><para>-</para></entry>

          <entry><para>Not supported</para></entry>
        </row>

        <row>
          <entry><para>recovert_time</para></entry>

          <entry><para>-</para></entry>

          <entry><para>The ClusterListener will tell (via a STATUS message)
          mod_cluster that the node is up again</para></entry>
        </row>

        <row>
          <entry><para>activation</para></entry>

          <entry><para>-</para></entry>

          <entry><para>mod_cluster receives this information via
          ENABLE/DISABLE/STOP messages</para></entry>
        </row>

        <row>
          <entry><para>distance</para></entry>

          <entry><para>-</para></entry>

          <entry><para>mod_cluster handles this via the loadfactor
          logic</para></entry>
        </row>

        <row>
          <entry><para>mount</para></entry>

          <entry><para>-</para></entry>

          <entry><para>The context "mounted" automaticly via the ENABLE-APP
          messages. ProxyPass could be used too</para></entry>
        </row>

        <row>
          <entry><para>secret</para></entry>

          <entry><para>-</para></entry>

          <entry><para>Not supported</para></entry>
        </row>

        <row>
          <entry><para>connect_timeout</para></entry>

          <entry><para>-</para></entry>

          <entry><para>Not supported. Use ProxyTimeout or server TimeOut
          (Default 300 seconds)</para></entry>
        </row>

        <row>
          <entry><para>prepost_timeout</para></entry>

          <entry><para>ping</para></entry>

          <entry><para>Default 10 seconds</para></entry>
        </row>

        <row>
          <entry><para>reply_timeout</para></entry>

          <entry><para>-</para></entry>

          <entry><para>Not supported. Use ProxyTimeout or server TimeOut?
          directive (Default 300 seconds)</para></entry>
        </row>
      </tbody>
    </tgroup>
  </informaltable>
</chapter>
