Utilizando Primefaces, tenho dois campos inputText com duas requisições ajax cada.
<p:inputText
id="xyz001"
value="#{Bean.xyz001}"
maxlength="9999999"
disabled="false"
>
<p:ajax
event="blur"
listener="#{Bean.valida_xyz001}"
update="xyz001_msg_validacao"
/>
<p:ajax
event="blur"
listener="#{Bean.xyz001_valueChange}"
/>
</p:inputText>
<p:inputText
id="xyz002"
value="#{Bean.xyz002}"
maxlength="9999999"
disabled="false"
>
<p:ajax
event="blur"
listener="#{Bean.valida_xyz002}"
update="xyz002_msg_validacao"
/>
<p:ajax
event="blur"
listener="#{Bean.xyz002_valueChange}"
/>
</p:inputText>
O meu problema é que, dependendo da forma como são focados e desfocados esses dois campos, essas requisições ajax entram em loop, travando a funcionalidade do campo. Não consigo identificar o que causa esse loop, muito menos como resolve-lo.
Os dois métodos chamados por cada requisição ajax não tem relação entre si.
Consegui replicar esse problema diminuindo a velocidade de conexão no DevTools>Network, do chrome.