Eric, I am also very interested in getting on a beta program too. I have sent you an email with contact details for me.
Regards Simon --- In flexcoders@yahoogroups.com, "Eric D Anderson" <[EMAIL PROTECTED]> wrote: > > Hi PW, > > > > I'd suggest that we add you to the latest Data Services beta because > either we have fixed this issue, or we will fix this issue in the next > release. Can you contact me off-list and I'll add you to the beat so > you can test DS with the latest DS and hibernate assembler. > > > > Thanks > > > Eric > > > > Flex PM > > > > ________________________________ > > From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On > Behalf Of parkerwhirlow > Sent: Friday, February 16, 2007 7:06 PM > To: flexcoders@yahoogroups.com > Subject: [flexcoders] Re: FDS/Hibernate - LazyInitializationException > when writing AMF output > > > > This is happening from FDS... flex.data.assemblers.HibernateAssembler > uses a function called fetchObjectProperties() that's supposed to load > them all while the session is open right? > > I've seen in other posts that FDS eager fetches the properties in the > Assembler, so that they are available during serialization... > > am I missing something here? > > thanks, > PW > > --- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> > , Dima Gutzeit <dima@> wrote: > > > > Hi, > > > > You have to initialize the collections before AMF serializes them. The > > > problem occurs since you closing Hibernate session without first > > initializing the arrays, and since you are using lazy initialization > the > > problem arise. > > > > You have two options : > > > > 1. Use lazy=false > > 2. Better one, is calling > /Hibernate.initialize(your_array_reference);/ > > before you close the Hibernate session. > > > > Regards, > > Dima Gutzeit. > > > > parkerwhirlow wrote: > > > > > > Hi again =) > > > > > > I've just started getting this exception inconsistently... sometimes > > > it happens 3 times in a row, other times I can go all afternoon > > > without getting it. Once the exception occurs, it will occur every > > > time the client loads until FDS is restarted. > > > > > > Note this occurs on multiple collections. I tried setting the > > > "offending" collection to lazy=false (in Hibernate), and the > exception > > > occurred on a different collection. I can't set every one of my > > > collections to lazy=false. Especially since at this point, they HAVE > > > to be lazy for the updateItem via hierarchical values to almost > work. > > > > > > I also noticed that the collection does not necessarily need to have > > > any items in it. (And possibly is caused specifically by NOT having > > > any items in it, I can't tell for sure). The collection referenced > in > > > the exception below has no values, and there's another collection in > > > that same class with values that doesn't seem to cause the > exception. > > > > > > See below the hibernate mapping, and exception output when this > > > occurs. (Note there are no FDS managed associations for this > collection) > > > > > > Thanks for any insight you have as to what is causing this. > > > > > > PW > > > _________________________ > > > > > > <joined-subclass name="Adult" table="T_ADULT" extends="Person"> > > > <key> > > > <column name="ID" length="22" /> > > > </key> > > > <set name="children" > > > inverse="false" > > > cascade="all-delete-orphan" > > > > <key> > > > <column name="PARENTID" length="22" not-null="false" /> > > > </key> > > > <one-to-many class="Person" /> > > > </set> > > > ... > > > </joined-subclass> > > > > > > 10:19:42,093 WARN ProxyWarnLog - Narrowing proxy to class > > > config.test.Adult - this operation breaks == > > > 10:19:44,687 ERROR LazyInitializationException - failed to lazily > > > initialize a collection of role: config.test.Adult.children, no > > > session or session was closed > > > org.hibernate.LazyInitializationException: failed to lazily > initialize > > > a collection of role: config.test.Adult.children, no session or > > > session was closed > > > at > > > > org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializ > ationException(AbstractPersistentCollection.java:358) > > > at > > > > org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializ > ationExceptionIfNotConnected(AbstractPersistentCollection.j > > > ava:350) > > > at > > > > org.hibernate.collection.AbstractPersistentCollection.readSize(AbstractP > ersistentCollection.java:97) > > > at > > > org.hibernate.collection.PersistentSet.size(PersistentSet.java:139) > > > at java.util.ArrayList.<init>(ArrayList.java:133) > > > at > > > flex.messaging.io.ArrayCollection.<init>(ArrayCollection.java:44) > > > at > > > > flex.messaging.io.amf.Amf3Output.writeArrayCollection(Amf3Output.java:40 > 7) > > > at > > > flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:147) > > > at > > > > flex.messaging.io.amf.Amf3Output.writeObjectProperty(Amf3Output.java:215 > ) > > > at > > > > flex.messaging.io.amf.Amf3Output.writePropertyProxy(Amf3Output.java:495) > > > at > > > > flex.messaging.io.amf.Amf3Output.writeCustomObject(Amf3Output.java:467) > > > at > > > flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:165) > > > at > > > > flex.messaging.io.amf.Amf3Output.writeObjectArray(Amf3Output.java:730) > > > at > > > flex.messaging.io.amf.Amf3Output.writeAMFArray(Amf3Output.java:386) > > > at > > > flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:151) > > > at > > > > flex.messaging.io.ArrayCollection.writeExternal(ArrayCollection.java:97) > > > at > > > > flex.messaging.io.amf.Amf3Output.writePropertyProxy(Amf3Output.java:485) > > > at > > > > flex.messaging.io.amf.Amf3Output.writeArrayCollection(Amf3Output.java:41 > 4) > > > at > > > flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:147) > > > at > > > > flex.messaging.io.amf.Amf3Output.writeObjectProperty(Amf3Output.java:215 > ) > > > at > > > > flex.messaging.io.amf.Amf3Output.writePropertyProxy(Amf3Output.java:495) > > > at > > > > flex.messaging.io.amf.Amf3Output.writeCustomObject(Amf3Output.java:467) > > > at > > > flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:165) > > > at > > > > flex.messaging.io.amf.Amf3Output.writeObjectArray(Amf3Output.java:730) > > > at > > > flex.messaging.io.amf.Amf3Output.writeAMFArray(Amf3Output.java:386) > > > at > > > flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:151) > > > at > > > > flex.messaging.io.ArrayCollection.writeExternal(ArrayCollection.java:97) > > > at > > > > flex.messaging.io.amf.Amf3Output.writePropertyProxy(Amf3Output.java:485) > > > at > > > > flex.messaging.io.amf.Amf3Output.writeArrayCollection(Amf3Output.java:41 > 4) > > > at > > > flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:147) > > > at > > > > flex.messaging.io.amf.Amf3Output.writeObjectProperty(Amf3Output.java:215 > ) > > > at > > > > flex.messaging.io.amf.Amf3Output.writePropertyProxy(Amf3Output.java:495) > > > at > > > > flex.messaging.io.amf.Amf3Output.writeCustomObject(Amf3Output.java:467) > > > at > > > flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:165) > > > at > > > > flex.messaging.io.amf.Amf3Output.writeObjectArray(Amf3Output.java:730) > > > at > > > flex.messaging.io.amf.Amf3Output.writeAMFArray(Amf3Output.java:386) > > > at > > > flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:151) > > > at > > > > flex.messaging.io.amf.Amf3Output.writeObjectProperty(Amf3Output.java:215 > ) > > > at > > > > flex.messaging.io.amf.Amf3Output.writePropertyProxy(Amf3Output.java:495) > > > at > > > > flex.messaging.io.amf.Amf3Output.writeCustomObject(Amf3Output.java:467) > > > at > > > flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:165) > > > at > > > flex.messaging.io.amf.Amf0Output.writeObject(Amf0Output.java:157) > > > at > > > > flex.messaging.io.amf.AmfMessageSerializer.writeBody(AmfMessageSerialize > r.java:185) > > > at > > > > flex.messaging.io.amf.AmfMessageSerializer.writeMessage(AmfMessageSerial > izer.java:139) > > > at > > > > flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFil > ter.java:164) > > > at > > > flex.messaging.endpoints.AMFEndpoint.service(AMFEndpoint.java:164) > > > at > > > > flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:34 > 0) > > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > > > at jrun.servlet.FilterChain.doFilter(FilterChain.java:86) > > > at > > > > jrun.servlet.security.StandardSecurityFilter.doFilter(StandardSecurityFi > lter.java:103) > > > at jrun.servlet.FilterChain.doFilter(FilterChain.java:94) > > > at jrun.servlet.FilterChain.service(FilterChain.java:101) > > > at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91) > > > at > > > jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42) > > > at > > > > jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:259 > ) > > > at > > > > jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:541 > ) > > > at > > > jrun.servlet.http.WebService.invokeRunnable(WebService.java:172) > > > at > > > > jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java > :428) > > > at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66) > > > > > > > > >