Existe uma opção useDirtyFlag para a configuração de cluster do Tomcat 6?

No Tomcat 5.0.x, você podia definir useDirtyFlag = "false" comoforçar a replicação da sessão após cada solicitação em vez de procurar por chamadas 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"> ...

Os comentários no server.xml declararam que isso pode ser usado para fazer o seguinte trabalho:

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

ou seja, alterar o estado de um objeto que possuijá foi colocado na sessão e você pode ter certeza de que esse objeto ainda será replicado para os outros nós no cluster.

De acordo com a documentação do Tomcat 6, você tem apenas duas opções "Manager" - DeltaManager e BackupManager ... nenhuma delas parece permitir essa opção ou algo parecido. Nos meus testes, a configuração padrão:

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

onde você obtém o DeltaManager por padrão, ele definitivamente está se comportando como useDirtyFlag = "true" (como eu esperaria).

Então, minha pergunta é - existe um equivalente no Tomcat 6?

Olhando a fonte, posso ver uma implementação do gerente "org.apache.catalina.ha.session.SimpleTcpReplicationManager" que possui o useDirtyFlag, mas os javadoc comentam nesse estado que é "Replicação de Sessão do Tomcat para Tomcat 4.0" ... não sei se está tudo bem em usar - acho que não, pois não é mencionado na documentação principal de configuração do cluster.

questionAnswers(2)

yourAnswerToTheQuestion