Есть ли опция 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" ... Я не Я не знаю, нормально ли это для использования - я полагаю, что нет, поскольку это не упомянуто в основной документации по конфигурации кластера.