[RESOLVIDO]JSF Entrou em loop

Gente criei um monstro. rs

Pessoal, eu precisava no managed bean ficar monitorando um serviço socket, até ai beleza.
Crie essa estrutura

[code]@javax.faces.bean.ManagedBean
@ViewScoped
public class ManagedBean implements Serializable {

private static final long serialVersionUID = -5427586947481134443L;

boolean cont = true;
public void start(ActionEvent e) {
	

	int i = 0; // So para testar como esta o loop
	while (cont) {
		
		System.out.println(i);
		
                    escuterServicoSocket();


		i++;
		
	}
	
}

public void parar(ActionEvent e) {		
	System.out.println("Cancelando loop do método start");
	cont = false;		
}

}[/code]

O No jsp iniciei o método start com o primefaes

[code]<p:commandButton actionListener="#{managedBean.parar}" ajax=“true” value=“comando”></p:commandButton>

		&lt;p:remoteCommand async="true" autoRun="true" name="init"  actionListener="#{managedBean.start}"
			global="false" /&gt;[/code]

Ao iniciar a página o método Start fica em loop monitorando que eu quero, porem tem um efeito colateral. Quando eu executo o comando parar e mudo a variavel cont para false, esse valor não se reflete no método start. Se eu coloco um break point no metodo start, mesmo depois de mudar o valor da variavel cont para false no método parar, ela continua como true no método start
O pior vem agora. Se eu colocar um break point no método parar depois do primeiro clique, o valor de cont esta mudado para false.

Tenta colocar o modificador volatile na declaração da variável boolean e testa de novo

rogeriopaguilar, valeu pela dica me abriu os olhos para outros detalhes.

O problema resolveu-se depois de usar o valotile e ainda assim trocar o método de actionListener para action, sendo qeu o método precisa ser synchronized