Performance: Habilite o cache de páginas do Facelets

Na primeira requisição a uma página JSF o Facelets se encarrega de carregar a página do disco, processar tag a tag e construir uma estrutura em memória. Essa estrutura é cacheada para que nas requisições seguintes à mesma página o Facelets não precise recarregar o XHTML do disco. Você já consegue imaginar a vantagem disso?

Esse cache de páginas pode diminuir significativamente o tempo de resposta a uma página JSF. Mas tem um porém que você precisa ficar ligado…

Esse cache dura somente 2 segundos por padrão. Após esse período ele é invalidado e o Facelets é obrigado a recarregar e processar a página do disco novamente. O Facelets terá que recompilar a página novamente! Mas podemos configurar esse intervalo indefinidamente, dessa forma o cache nunca será invalidado.

Para isso, você pode ler nosso post no blog dos desenvolvedores da TriadWorks: Facelets: desligue o cache de páginas em desenvolvimento

Se você configurar o cache adequadamente para o ambiente de desenvolvimento você consegue melhorar sua produtividade pois não precisará esperar aqueles segundinhos antes de teclar F5 (refresh) para ver sua modificação no browser.

Hibernate Efetivo – erros comuns e soluções

Neste último final de semana, dias 4 e 5 de Agosto, ocorreu a terceira edição do QCon São Paulo, na qual reuniu 1000 participantes em dois dias de evento.

Diferentemente das últimas duas edições, na qual marquei presença como espectador, este ano eu tive a oportunidade de palestrar sobre o tema Hibernate Efetivo – erros comuns e soluções.

A edição deste ano superou as edições anteriores em vários aspectos, como organização, qualidade do wi-fi, nível das palestras e lightning talks, discussão nos corredores e claro, um excelente coffee-break. Devo parabenizar os organizadores pelo evento, principalmente pelo apoio dado a caravana da JavaCE, que este ano marcou presença em peso.

Sendo, segue os slides da minha apresentação, que por sua vez poderá ser baixada no formato PDF:

Durante a apresentação houve uma demo mostrando a diferença de performance na utilização do Hibernate em processamentos batch com e sem o uso da StatelessSession.

Uma das coisas que me deixou hiper-super feliz no evento foi a incrível oportunidade de ser entrevistado pela InfoQ Brasil sobre minha palestra, citando algumas boas e más práticas ao se trabalhar com Hibernate e problemas de performance. Vale a pena conferir!

No blog da Caelum você pode encontrar um excelente resumão do evento, além dos keynotes, e da maioria das palestras e lightning talks já divulgadas até o momento.

Gostaria de parabenizar novamente a Caelum pela organização e sucesso desta edição e, principalmente, pela oportunidade que me foi dada para palestrar neste grande evento.