Есть ли опция useDirtyFlag для конфигурации кластера Tomcat 6?

В Tomcat 5.0.x у вас была возможность установить useDirtyFlag = "false" впринудительная репликация сеанса после каждого запроса вместо проверки вызовов set / removeAttribute.

<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
                 managerClassName="org.apache.catalina.cluster.session.SimpleTcpReplicationManager"
                 expireSessionsOnShutdown="false"
                 **useDirtyFlag="false"**
                 doClusterLog="true"
                 clusterLogName="clusterLog"> ...

В комментариях в файле server.xml указано, что это может быть использовано для выполнения следующей работы:

<%
    HashMap map = (HashMap)session.getAttribute("map");
    map.put("key","value");
%>

то есть изменить состояние объекта, который имеетуже был введен в сессию и вы можете быть уверены, что этот объект все еще будет реплицирован на другие узлы в кластере.

В соответствии с документацией Tomcat 6 у вас есть только два варианта «Менеджер» - DeltaManager и BackupManager ... ни один из них, похоже, не позволяет этот параметр или что-то подобное. В моем тестировании настройки по умолчанию:

  <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

где вы получаете DeltaManager по умолчанию, он определенно ведет себя как useDirtyFlag = "true" (как я и ожидал).

Итак, мой вопрос - есть ли эквивалент в Tomcat 6?

Глядя на источник, я вижу реализацию менеджера "org.apache.catalina.ha.session.SimpleTcpReplicationManager", которая имеет useDirtyFlag, но комментарии javadoc в этом состоянии - "Репликация сессии Tomcat для Tomcat 4.0" ... Я не Я не знаю, нормально ли это для использования - я полагаю, что нет, поскольку это не упомянуто в основной документации по конфигурации кластера.

Ответы на вопрос(2)

Ваш ответ на вопрос