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.