Esse é o grande problema de trabalhar com clientes remotos. Usando EJB é
comum ter esse tipo de problema também. Ou você cria DTO ou você cuida das
suas entidades pra não acontecer esses problemas. EAGER em tudo é inviável,
e sair inicializando tudo é bem perigoso também. O ideal e conhecer bem as
view e crias os serviço o mais específico possível pra não fazer dezenas de
selects desnecessários. Só não fique muito preocupado com isso, não esqueça
que o próprio Joshua Bloch fala que um dos maiores problemas que podemos ter
é a otimização precoce (
http://www.infoq.com/articles/bloch-effective-java-2e)

Recentemente fiquei sabendo do projeto dphibernate que teoricamente resolve
isso, mas ainda não testei (http://code.google.com/p/dphibernate/)
Outra opção é o DTOManager que dá uma força pra criar os DTOs (
http://github.com/bfuster/dtomanager)


2009/12/22 Daniel Rodrigues da Cunha Frank <fr...@projetusinformatica.com.br
>

> Realmente pensei em fazer um filter, ou até mesmo criar um JavaAdapter
> customizado, minha pergunta na lista é justamente para saber se alguém já
> fez algo assim e até mesmo para receber dicas (como a sua, do filter).
> O que acontece é que se eu fechar o em no serviço quando o Blaze vai
> serializar o objeto ele chama os métodos marcados como Lazy e como o em já
> está fechado, dá erro. Eu poderia colocar tudo como Eager, mas existem
> processos que ocorrem no servidor que ficariam muito pesados dessa forma.
>
> Daniel R.C.Frank
> Análise e Programação
>
>
> 2009/12/22 David Paniz <davidpa...@gmail.com>
>
>> Se você está usando o blaze você deve ter uma servlet mapeada. Será que
>> usar um filter com mesmo url-pattern não basta para o seu caso?
>>
>> Honestamente acho que ainda não entendi direito o seu problema. Você está
>> usando o mesmo "serviço" tanto pra uma view Flex quanto pra uma outra
>> "tradicional" e quer forçar fechar o EM só quando for a do flex?
>>
>>
>> 2009/12/22 Daniel Rodrigues da Cunha Frank <
>> fr...@projetusinformatica.com.br>
>>
>> David,
>>>
>>> É por isso que eu desejo sabe se tem como colocar um ouvidor para fechar
>>> o em apenas após o término da requisição, pois assim, embora eu perca o  
>>> LazyLoading
>>> para a minha view, eu posso continuar usando ela para outros processos.
>>>
>>> Daniel R.C.Frank
>>> Análise e Programação
>>>
>>>
>>> 2009/12/22 David Paniz <davidpa...@gmail.com>
>>>
>>> Usando o BlazeDS as requisições do Flex são bem diferentes das
>>>> requisições "normais" onde o próprio servidor monta a view. Você não pode
>>>> esquecer que o flex é código que está rodando no browser do cliente, então
>>>> não tem controle de mais nada depois que o código do servidor acabou,
>>>> diferente de JSP ou JSF. Por isso você sempre deve "fechar" o EM no término
>>>> do seu "service". Infelizmente a gente acaba perdendo alguns benefícios 
>>>> como
>>>> o LazyLoading.
>>>>
>>>> 2009/12/21 Daniel Rodrigues da Cunha Frank <
>>>> fr...@projetusinformatica.com.br>
>>>>
>>>>>  Boa noite,
>>>>>
>>>>> Estou estudando JPA (JPA + EclipseLink) e gostaria de saber se existe
>>>>> alguma forma de 'ouvir' o fim da requisição do Flex (RemoteObject) para 
>>>>> que
>>>>> eu possa fechar o EntityManager?
>>>>>
>>>>> Desde já agradeço a atenção de todos,
>>>>>
>>>>> Daniel R.C.Frank
>>>>> Análise e Programação
>>>>>
>>>>> --
>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>>> Para enviar uma mensagem, envie um e-mail para
>>>>> flexdev@googlegroups.com
>>>>> Para sair da lista, envie um email em branco para
>>>>> flexdev-unsubscr...@googlegroups.com
>>>>> Mais opções estão disponíveis em
>>>>> http://groups.google.com/group/flexdev
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> David Paniz
>>>> http://www.davidpaniz.com
>>>>
>>>> --
>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
>>>> Para sair da lista, envie um email em branco para
>>>> flexdev-unsubscr...@googlegroups.com
>>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>>
>>>
>>>  --
>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
>>> Para sair da lista, envie um email em branco para
>>> flexdev-unsubscr...@googlegroups.com
>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>>
>>
>>
>>
>> --
>> David Paniz
>> http://www.davidpaniz.com
>>
>> --
>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
>> Para sair da lista, envie um email em branco para
>> flexdev-unsubscr...@googlegroups.com
>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>
>
>  --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
> Para sair da lista, envie um email em branco para
> flexdev-unsubscr...@googlegroups.com
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>



-- 
David Paniz
http://www.davidpaniz.com

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a