Lentidão para abrir e manipular edição em uma página JSF

2 respostas Resolvido
jsfprimefacesjava
J

Boa tarde amigos, tenho uma página JSF em que é feito um cadastro por um formulário, onde é informado detalhes de clientes e produtos, e antes de salvar as informações no banco de dados é tudo muito rápido.

Porém, ao recuperar as informações para a edição, o navegador demora para receber o retorno do servidor sendo que o construtor do MB e o carregamento das informações do banco de dados são executados em 2 ou 3 segundos (em formulários que contém grande número de itens), e o tempo para o navegador renderizar é em torno de 40 segundos e a manipulação dos registros também é lenta. O que pode estar trancando esse processamento?

As tecnologias utilizadas são Primefaces 6, JSF 2.1, Java 8, Hibernate.

Para passar as informações da página de pesquisa para a de edição é feito da seguinte forma:

<ui:define name="metadata">
        <f:metadata>
            <f:viewParam name="id" value="#{pedidoMB.pedido}" converter="convertePedido"/>
       </f:metadata>
</ui:define>

Notei que esse viewParam está sendo chamado mais uma vez após a conclusão do carregamento, poderia ser algo relacionado a isso?

2 Respostas

I

Você precisa carregar todas as informações de uma vez?
Ex: se você estiver usando o componente de abas, você pode num primeiro momento, carregar os dados apenas da aba que vem selecionada por default e carregar as demais quando forem abertas.
Isso é só um exemplo… Tem uma infinidade de possibilidades de “lazy load”.

Principalmente com Datatable.
O prime já disponibiliza o atributo lazy para ele, para que os dados sejam carregados quando o usuário muda de página, ao invés de carregar tudo em uma única vez. Mais infos sobre o Lazy Data Model

J
Solucao aceita

Obrigado pela dica Igor, mas minimizei o problema removendo alguns métodos em atributos rendered e disabled que faziam buscas repetidas no MB.

Criado 6 de janeiro de 2017
Ultima resposta 6 de jan. de 2017
Respostas 2
Participantes 2