Pessoal, o que pode causar uma lentidão estranha no JSF/Primefaces?
Eu rodo a aplicação no JBoss na máquina local e o banco fica num servidor na nuvem, até então era um pouco lento mas nem tanto.
Agora um simples selecionar de menu <p:selectOneMenu leva 45 segundos para executar.
No trecho abaixo ele deve fazer uma chamada no bean e atualizar uma propriedade para atualizar o valor na tela, isso tá levando 45 segundos.
<p:selectOneMenu id="campoRemetente"
valueChangeListener="#{ctrcBean.remetenteChangeListener}"
value="#{ctrcBean.ctrc.formaEmissao}" required="true"
effect="fade" var="p" filter="true"
filterMatchMode="startsWith"
label="#{msg['label.tomador.razao.social']}">
<f:selectItem itemLabel="Selecione" itemValue="" />
<f:selectItems value="#{ctrcBean.remetentes}" var="remetente"
itemValue="#{remetente.cnpj}"
itemLabel="#{remetente.razaoSocialNome}" />
<p:ajax event="change" process="@this"
update="campoCnpjRemetente" />
</p:selectOneMenu>
Método da action chamada no bean:
public void remetenteChangeListener(ValueChangeEvent event) {
if (!event.getNewValue().toString().equals("")) {
String cnpj = event.getNewValue().toString();
Remetente remetente = null;// this.remetenteService.findByCnpj(cnpj);
for (Remetente item : this.remetentes) {
if (item.getCnpj().equals(cnpj)) {
remetente = item;
break;
}
}
this.getCtrc().setRemetente(remetente);
}
}
Alguém saberia me dar alguma dica de como melhorar essa performance?