mais tem q implementar as coisas como ele espera, senão num vira. On Wed, Nov 5, 2008 at 11:09 AM, Pedro Gonçalves <[EMAIL PROTECTED]>wrote:
> Cara!! Usa o GraniteDS e Seja Feliz... > > Depois dê uma olhada na solução que o pessoal fez.. www.graniteds.org > > > > On Tue, Nov 4, 2008 at 6:43 PM, Mário Júnior <[EMAIL PROTECTED]> wrote: > >> Eu gosto de escovar bits... :P >> hehehehehehe >> >> >> >> 2008/11/4 Rafael Nami <[EMAIL PROTECTED]> >> >> Esta opção que o Fábio falou é interessante. Já utilizei com GWT (aka >>> Presentation Model) e funcionou perfeitamente. É melhor porque pode-se >>> simplificar os objetos para passar para a view, o que faz o cara nunca ter >>> LazyInicializationException, porque o presentationModel sempre será criado >>> dentro de um contexto persistente (ou seja, antes do blazeDS converter o >>> java para .as). >>> Me desculpem a sinceridade, mas OpenSessionInView é um "workaround" para >>> isso (LazyInitializationException) não acontecer em aplicações web. Lembro >>> até que quando apareceu esse pattern (acho que foi no começo do Hibernate 2) >>> os próprios caras do Hibernate desencorajavam este approach. Só que depois >>> eles voltaram atrás, porque era uma boa na adoção do produto deles. :) >>> >>> Esta de modificar o BlazeDS também é interessante, porém intrusivo paca >>> :) É para os escovadores de bits de plantão (brincadeira galera, tem que >>> manjar e ser macho paca pra fazer isso) :) >>> >>> Aquele abraço >>> >>> Rafael Mauricio Nami >>> >>> 2008/11/4 George Queiroz <[EMAIL PROTECTED]> >>> >>>> A mudança foi aqui, acho eu: >>>> >>>> >>>> flex.messaging.io.amf. Amf3Output.writePropertyProxy >>>> >>>> depois re-gerei o jar e pumba, funcionou. >>>> >>>> coloquei um try catch pra o erro do Lazy e mando null no atributo na >>>> classe flez :) >>>> >>>> >>>> 2008/11/4 LeonardoW <[EMAIL PROTECTED]> >>>> >>>>> >>>>> ERROR [LazyInitializationException] could not initialize proxy - the >>>>> owning Session was closed >>>>> org.hibernate.LazyInitializationException: could not initialize proxy >>>>> - the owning Session was closed >>>>> at >>>>> >>>>> org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java: >>>>> 56) >>>>> at >>>>> >>>>> org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java: >>>>> 98) >>>>> at >>>>> >>>>> org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java: >>>>> 158) >>>>> at br.com.cpr.flex.Usuario$$EnhancerByCGLIB$ >>>>> $1c43bd33_3.getNuContatelefone(<generated>) >>>>> at sun.reflect.GeneratedMethodAccessor360.invoke(Unknown Source) >>>>> at >>>>> >>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: >>>>> 25) >>>>> at java.lang.reflect.Method.invoke(Method.java:597) >>>>> at >>>>> flex.messaging.io.BeanProxy$BeanProperty.get(BeanProxy.java:738) >>>>> at flex.messaging.io.BeanProxy.getBeanValue(BeanProxy.java:199) >>>>> at flex.messaging.io.BeanProxy.getValue(BeanProxy.java:176) >>>>> at >>>>> flex.messaging.io.amf.Amf3Output.writePropertyProxy(Amf3Output.java: >>>>> 565) >>>>> at >>>>> flex.messaging.io.amf.Amf3Output.writeCustomObject(Amf3Output.java: >>>>> 518) >>>>> at >>>>> flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:193) >>>>> at >>>>> >>>>> flex.messaging.io.amf.Java15Amf3Output.writeObject(Java15Amf3Output.java: >>>>> 26) >>>>> at >>>>> flex.messaging.io.amf.Amf3Output.writeObjectProperty(Amf3Output.java: >>>>> 243) >>>>> at >>>>> flex.messaging.io.amf.Amf3Output.writePropertyProxy(Amf3Output.java: >>>>> 566) >>>>> at >>>>> flex.messaging.io.amf.Amf3Output.writeCustomObject(Amf3Output.java: >>>>> 518) >>>>> at >>>>> flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:193) >>>>> at >>>>> >>>>> flex.messaging.io.amf.Java15Amf3Output.writeObject(Java15Amf3Output.java: >>>>> 26) >>>>> at >>>>> flex.messaging.io.amf.Amf3Output.writeObjectArray(Amf3Output.java: >>>>> 817) >>>>> at >>>>> flex.messaging.io.amf.Amf3Output.writeAMFArray(Amf3Output.java: >>>>> 431) >>>>> at >>>>> flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:179) >>>>> at >>>>> >>>>> flex.messaging.io.amf.Java15Amf3Output.writeObject(Java15Amf3Output.java: >>>>> 26) >>>>> at >>>>> flex.messaging.io.ArrayCollection.writeExternal(ArrayCollection.java: >>>>> 97) >>>>> at >>>>> flex.messaging.io.amf.Amf3Output.writePropertyProxy(Amf3Output.java: >>>>> 556) >>>>> at >>>>> flex.messaging.io.amf.Amf3Output.writeArrayCollection(Amf3Output.java: >>>>> 462) >>>>> at >>>>> flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:175) >>>>> at >>>>> >>>>> flex.messaging.io.amf.Java15Amf3Output.writeObject(Java15Amf3Output.java: >>>>> 26) >>>>> at >>>>> >>>>> flex.messaging.messages.AbstractMessage.writeExternal(AbstractMessage.java: >>>>> 352) >>>>> at >>>>> flex.messaging.messages.AsyncMessage.writeExternal(AsyncMessage.java: >>>>> 140) >>>>> at >>>>> >>>>> flex.messaging.messages.AcknowledgeMessage.writeExternal(AcknowledgeMessage.java: >>>>> 92) >>>>> at >>>>> >>>>> flex.messaging.messages.AcknowledgeMessageExt.writeExternal(AcknowledgeMessageExt.java: >>>>> 55) >>>>> at >>>>> flex.messaging.io.amf.Amf3Output.writePropertyProxy(Amf3Output.java: >>>>> 556) >>>>> at >>>>> flex.messaging.io.amf.Amf3Output.writeCustomObject(Amf3Output.java: >>>>> 518) >>>>> at >>>>> flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:193) >>>>> at >>>>> >>>>> flex.messaging.io.amf.Java15Amf3Output.writeObject(Java15Amf3Output.java: >>>>> 26) >>>>> at >>>>> flex.messaging.io.amf.Amf0Output.writeObject(Amf0Output.java:193) >>>>> at >>>>> >>>>> flex.messaging.io.amf.Java15Amf0Output.writeObject(Java15Amf0Output.java: >>>>> 41) >>>>> at >>>>> >>>>> flex.messaging.io.amf.AmfMessageSerializer.writeObject(AmfMessageSerializer.java: >>>>> 196) >>>>> at >>>>> >>>>> flex.messaging.io.amf.AmfMessageSerializer.writeBody(AmfMessageSerializer.java: >>>>> 186) >>>>> at >>>>> >>>>> flex.messaging.io.amf.AmfMessageSerializer.writeMessage(AmfMessageSerializer.java: >>>>> 142) >>>>> at >>>>> >>>>> flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java: >>>>> 179) >>>>> at >>>>> >>>>> flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java: >>>>> 274) >>>>> at >>>>> flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java: >>>>> 377) >>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) >>>>> at >>>>> >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: >>>>> 252) >>>>> at >>>>> >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: >>>>> 173) >>>>> at >>>>> >>>>> net.digitalprimates.persistence.hibernate.utils.filters.HibernateSessionServletFilter.doFilter(HibernateSessionServletFilter.java: >>>>> 62) >>>>> at >>>>> >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: >>>>> 202) >>>>> at >>>>> >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: >>>>> 173) >>>>> at >>>>> >>>>> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java: >>>>> 96) >>>>> at >>>>> >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: >>>>> 202) >>>>> at >>>>> >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: >>>>> 173) >>>>> at >>>>> >>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: >>>>> 213) >>>>> at >>>>> >>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: >>>>> 178) >>>>> at >>>>> >>>>> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java: >>>>> 175) >>>>> at >>>>> >>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java: >>>>> 524) >>>>> at >>>>> flex.messaging.security.TomcatValve.invoke(TomcatValve.java:143) >>>>> at >>>>> >>>>> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java: >>>>> 74) >>>>> at >>>>> >>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: >>>>> 126) >>>>> at >>>>> >>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: >>>>> 105) >>>>> at >>>>> >>>>> org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java: >>>>> 156) >>>>> at >>>>> >>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: >>>>> 107) >>>>> at >>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: >>>>> 148) >>>>> at >>>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: >>>>> 869) >>>>> at org.apache.coyote.http11.Http11BaseProtocol >>>>> $Http11ConnectionHandler.processConnection(Http11BaseProtocol.java: >>>>> 664) >>>>> at >>>>> >>>>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java: >>>>> 527) >>>>> at >>>>> >>>>> org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java: >>>>> 112) >>>>> at java.lang.Thread.run(Thread.java:619) >>>>> >>>>> On 4 nov, 14:02, "George Queiroz" <[EMAIL PROTECTED]> wrote: >>>>> > Leo, eu sai da empresa, e os caras num encontraram o fonte >>>>> modificado... >>>>> > >>>>> > manda o stack q vai q lembro, te aviso. >>>>> > >>>>> > 2008/11/4 Léo <[EMAIL PROTECTED]> >>>>> > >>>>> > > Blz!!! E a solução feita no blazeDS, podes me passar para dar uma >>>>> olhada?Muito >>>>> > > obrigado pelas idéias >>>>> > > Vlw >>>>> > >>>>> > > 2008/11/4 George Queiroz <[EMAIL PROTECTED]> >>>>> > >>>>> > > Leo em resumo ou vc liga o opensessioninview no web.xml pra os lazy >>>>> serem >>>>> > >> carregados ou num tem solução, pois o blazeds pega todos os >>>>> atributos da >>>>> > >> entidade pai e manda um get... se vc ligar o OSIV ai ele vai >>>>> carregar tudo e >>>>> > >> num é a idéia. >>>>> > >>>>> > >> 2008/11/4 Léo <[EMAIL PROTECTED]> >>>>> > >>>>> > >>> Olá pessoal, estou bem informado sobre lazy loading... sei pq >>>>> acontence >>>>> > >>> etc...de qualquer forma agradeço a todos pelas respostas. >>>>> > >>> Essa alternativa de alterar o source do BlazeDS não me parece >>>>> ideal, pois >>>>> > >>> sempre que atualizar o blazeDS terei que lembrar de alterar >>>>> novamente e >>>>> > >>> gerar o respectivo jar. certo? >>>>> > >>> Mas posta ai essa solução, fiquei interessado. >>>>> > >>> Vlw >>>>> > >>>>> > >>> 2008/11/4 Mário Júnior <[EMAIL PROTECTED]> >>>>> > >>>>> > >>>> Dá pra alterar no source do blazeDS para nao lançar >>>>> > >>>> LazyInitializationException, e setar o atributo da coleção para >>>>> null. >>>>> > >>>> O George já fez isso aqui, eu até vi no source onde faz... assim >>>>> q eu >>>>> > >>>> tiver um tepinho te passo.. mas será bem intrusivo alterar o >>>>> source do >>>>> > >>>> blazeds. >>>>> > >>>>> > >>>> George.. aparece aí rapaz... >>>>> > >>>>> > >>>> 2008/11/4 Léo <[EMAIL PROTECTED]> >>>>> > >>>>> > >>>> Sim, eu sei...mas sempre que retorno os dados do java para o >>>>> flex ele >>>>> > >>>>> tenta carregar os proxys, ai a sessão está fechada e ocorre o >>>>> erro. Deveria >>>>> > >>>>> pelo menos ter a opção de escolher se você quer que carregue ou >>>>> não. >>>>> > >>>>> No caso ou eu seto para null os proxys ou deixo o erro >>>>> acontecer... >>>>> > >>>>> > >>>>> 2008/11/4 Rafael Nami <[EMAIL PROTECTED]> >>>>> > >>>>> > >>>>> Não é essa a questão Leo. O problema existe - Lazy >>>>> initialization é o >>>>> > >>>>>> um problema de implementação. Provavelmente esteja chamando um >>>>> proxy em um >>>>> > >>>>>> local aonde não possua mais contexto persistente. Dá uma >>>>> caçada às bruxas ae >>>>> > >>>>>> mano. >>>>> > >>>>>> Abraços >>>>> > >>>>> > >>>>>> Rafael Mauricio Nami >>>>> > >>>>> > >>>>>> 2008/11/4 LeonardoW <[EMAIL PROTECTED]> >>>>> > >>>>> > >>>>>>> Bom acho que vou abandonar esse fw.... >>>>> > >>>>>>> Porque justamente não quero carregar todos os mapeamentos, o >>>>> que >>>>> > >>>>>>> onera >>>>> > >>>>>>> as consultas na base... >>>>> > >>>>>>> E se fosse para carregar tudo, eu poderia fazer direto pelas >>>>> > >>>>>>> configurações do hibernate! >>>>> > >>>>>>> Me corrija se eu estiver errado...Melhor deixar do jeito que >>>>> está... >>>>> > >>>>>>> Tem como não lançar a exceção de lazy loading? >>>>> > >>>>>>> Vlw >>>>> > >>>>> > >>>>>>> On 3 nov, 19:37, "Rafael Nami" <[EMAIL PROTECTED]> >>>>> wrote: >>>>> > >>>>>>> > Fala Leo, beleza?Seguinte mano, eu já testei essa >>>>> biblioteca, e já >>>>> > >>>>>>> olhei o >>>>> > >>>>>>> > código fonte, faz uns treco bizarro (tipo, colocar chamadas >>>>> a >>>>> > >>>>>>> remoteObject >>>>> > >>>>>>> > para chamar um "contexto persistente extendido" aonde tem >>>>> > >>>>>>> HibernateProxy). >>>>> > >>>>>>> > Ou seja, ele propaga o contexto de persistência para o >>>>> servlet >>>>> > >>>>>>> filter que o >>>>> > >>>>>>> > dpHibernate configura (lembra da tabajarisse do >>>>> > >>>>>>> OpenSessionInViewFilter?). >>>>> > >>>>>>> > Alem do mais, até aonde vi, é necessário fazer tanto seus >>>>> beans >>>>> > >>>>>>> java quanto >>>>> > >>>>>>> > os .as extenderem classes do framework, o que é muito >>>>> invasivo, no >>>>> > >>>>>>> que diz >>>>> > >>>>>>> > respeito à estruturas legadas Java (o que pode ser seu caso >>>>> :) ). >>>>> > >>>>>>> > A melhor solução é a que sempre falo - use o hibernate com >>>>> > >>>>>>> moderação :) >>>>> > >>>>>>> > Use e abuse de Projections e HQL construindo objetos e/ou >>>>> Maps, que >>>>> > >>>>>>> ae você >>>>> > >>>>>>> > que "controla" o select que será executado no banco. E >>>>> recupere >>>>> > >>>>>>> para a >>>>> > >>>>>>> > camada de visão algo que tenha significado apenas para a >>>>> camada de >>>>> > >>>>>>> > apresentação (aka - PresentationModels). Expor na camada >>>>> view >>>>> > >>>>>>> coisas de >>>>> > >>>>>>> > Hibernate, além de ser um problema de design, é algo que >>>>> pode >>>>> > >>>>>>> trazer >>>>> > >>>>>>> > problemas de performance. >>>>> > >>>>> > >>>>>>> > Aquele abraço >>>>> > >>>>> > >>>>>>> > Rafael Nami >>>>> > >>>>> > >>>>>>> > 2008/11/3 LeonardoW <[EMAIL PROTECTED]> >>>>> > >>>>> > >>>>>>> > > Olá pessoal, >>>>> > >>>>>>> > > estou começando a usar o dpHibernate para solucionar o >>>>> problema >>>>> > >>>>>>> de >>>>> > >>>>>>> > > lazy load e gostaria de saber se tem como fazer ele >>>>> funcionar com >>>>> > >>>>>>> o >>>>> > >>>>>>> > > hibernate.properties ao invez do hibernate.cfg.xml? >>>>> > >>>>>>> > > Outra questão, meus objetos .as e .java tem que >>>>> obrigatoriamente >>>>> > >>>>>>> > > extender as classes hibernatebean e hiberanteProxy? Pois >>>>> a >>>>> > >>>>>>> princípio >>>>> > >>>>>>> > > apenas configurei o web.xml e o remote-config.xml + as >>>>> > >>>>>>> bibliotecas >>>>> > >>>>>>> > > necessárias e ele parou de gerar erro de lazy.... Só não >>>>> afirmo >>>>> > >>>>>>> isso >>>>> > >>>>>>> > > com 100% de certeza, pois ainda não está funfando 100%. >>>>> > >>>>>>> > > Vou fazer alguns testes aqui... >>>>> > >>>>>>> > > []´s >>>>> > >>>>> > >>>> -- >>>>> > >>>> Mário de Souza Júnior >>>>> > >>>> Programador Java / Adobe Flex >>>>> > >>>> (44) 4009-3550 Maringá-PR >>>>> > >>>>http://blog.mariojunior.com >>>>> > >>>> [EMAIL PROTECTED] (gtalk, msn, etc..) >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> >> >> >> -- >> Mário de Souza Júnior >> Programador Java / Adobe Flex >> (44) 4009-3550 Maringá-PR >> http://blog.mariojunior.com >> [EMAIL PROTECTED] (gtalk, msn, etc..) >> >> >> >> > > > -- > Pedro Gonçalves > 031-8802-7908 / 31-3241-1831 > [EMAIL PROTECTED] > http://izap.com.br > > ------- > Neo Framework > Framework web j2ee > www.neoframework.org > > > > --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---