Cookbooks Lazy EntityManger ou Lazy Session  XML
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Autor Mensagem
Lavieri
GUJ Master
[Avatar]

Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline

Conforme sugerido pelo lucascs estou colocando os códigos fontes, depois detalho como fazer, mas o javadoc ja fala por se.

Meu post:
Lavieri wrote:^^ .... consegui fazer o LAZY com meus entityManager e session lucascs \o/ ...

agora ate economizando anotação eu estou.... antes eu tinha uma anotação @DontIjectDaoFactory (no VRaptor 2) .... quando encontrava essa anotação em logica ou componente, eu não criava uma conexão real....

agora eu mando um EntityManger Enchaced que só conecta mesmo quando chama o primeiro método... não preciso mais me preucupar com métodos que não precisam de conexão ^^ .... CGLib muito rox


Post do lucas:
lucascs wrote:Muito bom! =)

Se você quiser escrever uma receita de como vc fez isso, a gente publica no site do VRaptor... e agradece imensamente =)

a seção de cookbooks vai ser inaugurada hoje provavelmente, com receitas de usuários

[]'s



Observação: estou indo para trabalho, mais a noite escrevo um roteiro do que fiz.

Descrição das classes:
  • HibernateUtils.java Classe auxiliar, para resolver problema de queda de conexão por inatividade (não é requirida, os locais onde tem invocações a ela podem ser removidos).

  • ReflectionUtils.java Uma pequena classe utilitária, apenas com um método para encontrar métodos por reflexão sem lançar checked exceptions.

  • JITEntityManagerCreator.java Cria EntityManagers Just in Time (ou seja LAZY) após a chamada a um método especifico da interface do manager, necessário a injeção de uma EntityManagerFactory. Implementa um ComponentFactory<EntityManager>

  • JITSessionCreatorFromSessionFactory.java Cria Hibernate Session Just in Time (ou seja LAZY) após a chamada a um método especifico da interface da Session, necessário a injeção de uma SessionFacotry. Implementa um ComponentFactory<Session>

  • JITSessionCreatorFromEntityManager.java Cria Hibernate Session Just in Time (ou seja LAZY) após a chamada a um método especifico da interface da Session, necessário a injeção de um EntityManager que também seja LAZY e que seja criado pelo hibernate provider. Implementa um ComponentFactory<Session>
  • This message was edited 2 times. Last update was at 16/10/2009 09:52:16


    Sun Certified Java Programmer (SCJP 6)

    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
    -Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

    Meu blog -> http://blog.tomazlavieri.com.br/
    [ICQ]
    Lavieri
    GUJ Master
    [Avatar]

    Membro desde: 27/01/2004 13:39:31
    Mensagens: 1851
    Localização: João Pessoa / PB
    Offline

    Just in Time EntityManager Creator.

    JITEntityManagerCreator.java
    visualizar: http://pastebin.com/f425c7d25

     Nome do arquivo JITEntityManagerCreator.java [Disk] Download
     Descrição JITEntityManagerCreator.java
     Tamanho 6 Kbytes
     Baixado:  303 vez(es)

    This message was edited 2 times. Last update was at 17/10/2009 12:09:23


    Sun Certified Java Programmer (SCJP 6)

    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
    -Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

    Meu blog -> http://blog.tomazlavieri.com.br/
    [ICQ]
    Lavieri
    GUJ Master
    [Avatar]

    Membro desde: 27/01/2004 13:39:31
    Mensagens: 1851
    Localização: João Pessoa / PB
    Offline

    Abstract Just in Time Hibernate Session Creator

    AbstractJITSessionCreator.java
    visualizar: http://pastebin.com/f553247ec
     Nome do arquivo AbstractJITSessionCreator.java [Disk] Download
     Descrição
     Tamanho 3 Kbytes
     Baixado:  197 vez(es)

    This message was edited 2 times. Last update was at 17/10/2009 12:15:06


    Sun Certified Java Programmer (SCJP 6)

    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
    -Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

    Meu blog -> http://blog.tomazlavieri.com.br/
    [ICQ]
    Lavieri
    GUJ Master
    [Avatar]

    Membro desde: 27/01/2004 13:39:31
    Mensagens: 1851
    Localização: João Pessoa / PB
    Offline

    Just-in-Time Hibernate Session Creator from SessionFactory

    JITSessionCreatorFromSessionFactory.java
    visualizar: http://pastebin.com/f229db00a
     Nome do arquivo JITSessionCreatorFromSessionFactory.java [Disk] Download
     Descrição
     Tamanho 3 Kbytes
     Baixado:  184 vez(es)

    This message was edited 3 times. Last update was at 17/10/2009 12:18:53


    Sun Certified Java Programmer (SCJP 6)

    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
    -Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

    Meu blog -> http://blog.tomazlavieri.com.br/
    [ICQ]
    Lavieri
    GUJ Master
    [Avatar]

    Membro desde: 27/01/2004 13:39:31
    Mensagens: 1851
    Localização: João Pessoa / PB
    Offline

    Just-in-Time Hibernate Session Creator from EntityManager

    JITSessionCreatorFromEntityManager.java
    visualizar: http://pastebin.com/f1f11b636
     Nome do arquivo JITSessionCreatorFromEntityManager.java [Disk] Download
     Descrição JITSessionCreatorFromEntityManager.java
     Tamanho 4 Kbytes
     Baixado:  186 vez(es)

    This message was edited 3 times. Last update was at 17/10/2009 12:57:38


    Sun Certified Java Programmer (SCJP 6)

    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
    -Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

    Meu blog -> http://blog.tomazlavieri.com.br/
    [ICQ]
    Lavieri
    GUJ Master
    [Avatar]

    Membro desde: 27/01/2004 13:39:31
    Mensagens: 1851
    Localização: João Pessoa / PB
    Offline

    Exemplo de CustumProvider



    Adicionar ao web.xml

    web.xml

    This message was edited 2 times. Last update was at 17/10/2009 12:21:24


    Sun Certified Java Programmer (SCJP 6)

    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
    -Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

    Meu blog -> http://blog.tomazlavieri.com.br/
    [ICQ]
     
    Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
    Ir para:   
    Powered by JForum 2.1.8 © JForum Team