Jeff, thanks for the info. I had already implemented a "work-around" where I stored the IDs from the header of the application's load, and when I need the dashboards I load them by ID myself.
I can try turning on auto-sync as a workaround also. Just curious... We've discovered several defects in FDS and Managed objects/relationships... Is there any timeline for when a bug-fix release might be available? thanks, Thunder --- In flexcoders@yahoogroups.com, "Jeff Vroom" <[EMAIL PROTECTED]> wrote: > > This does look like a bug that will occur when you have > autoSyncEnabled=false and you use a Set either with lazy loading or as a > return value from a fill. > > > > It is an easy fix - we are just casting to a List in a couple of places > instead of to a Collection. For now, maybe you can workaround the > problem by turning autoSyncEnabled=true? > > > > Jeff > > > > ________________________________ > > From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On > Behalf Of thunderstumpgesatwork > Sent: Tuesday, December 05, 2006 8:20 AM > To: flexcoders@yahoogroups.com > Subject: [flexcoders] Re: FDS - class cast exception - lazy loading > relationship > > > > I have tried to submit this as a defect, because as far as I can tell, > it is. The "bug report" form is very lacking though! It said my > description had to be less than 2000 characters, which isn't enough to > provide the trace information, or the Hibernate/FDMS mappings, and > then I trimmed and trimmed my bug report to 1931 characters and it > STILL wouldn't let me submit it... (last time I checked, 1931 was less > than 2000)... so I yanked out MORE useful information until I could > get it to submit. > > Does anyone at Adobe want to get the full scoop on this issue? Here it > is! > > Please let me know if this has been captured, and if it is a known > defect. > > thanks, > Thunder > > --- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> > , "thunderstumpgesatwork" > <thunder.stumpges@> wrote: > > > > Guys, > > > > I'm having more troubles with FDS... seems like there's some internal > > exception lurking around every corner... > > > > Here's a simple managed relationship between an applicationConfig and > > a Set of dashboards. The relationship is lazy, and when a dashboard is > > accessed I get the expected "ItemPendingError" but then immediately > > afterwards I get this java class-cast-exception on the server. > > > > I can load the dashboards separately, but when accessed across the > > relationship I get this error. Below is the relationship from the > > data-management-config, and my Hibernate relationship mapping, and the > > exception and debug trace follow that. > > > > Thanks for any help you can provide. Is this a defect? > > > > Thunder > > > > exception: java.lang.ClassCastException: > > org.hibernate.collection.PersistentSet > > at > > > flex.data.SequenceManager.getPageFromSequence(SequenceManager.java:694) > > at flex.data.DataService.serviceMessage(DataService.java:234) > > at > > > flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:54 > 8) > > at > > > flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoin > t.java:302) > > at > > > flex.messaging.endpoints.rtmp.AbstractRTMPServer.dispatchMessage(Abstrac > tRTMPServer.java:682) > > at > > > flex.messaging.endpoints.rtmp.NIORTMPConnection$RTMPReader.run(NIORTMPCo > nnection.java:665) > > at > > > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker > .runTask(ThreadPoolExecutor.java:643) > > at > > > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker > .run(ThreadPoolExecutor.java:668) > > at java.lang.Thread.run(Thread.java:595) > > _______________________________ > > > > <set name="dashboards" inverse="true" lazy="true"> > > <key> > > <column name="APPLICATIONID" length="22" not-null="true" /> > > </key> > > <one-to-many class="Dashboard" /> > > </set> > > _______________________________ > > > > <destination id="Applicationconfig" > > > <adapter ref="java-dao" /> > > <properties> > > <source>flex.data.assemblers.HibernateAssembler</source> > > <scope>application</scope> > > <metadata> > > <identity property="id"/> > > <one-to-many property="dashboards" destination="Dashboard" > > lazy="true"/> > > </metadata> > > <network> > > <paging enabled="true" pageSize="10" /> > > <throttle-inbound policy="ERROR" max-frequency="500"/> > > <throttle-outbound policy="REPLACE" max-frequency="500"/> > > </network> > > <server> > > > > > <hibernate-entity>com.company.config.presentation.Applicationconfig</hib > ernate-entity> > > <!-- NOTE: conflict mode set to NONE to solve incorrect conflict > > detection when saving dashboards. --> > > <update-conflict-mode>NONE</update-conflict-mode> > > <delete-conflict-mode>OBJECT</delete-conflict-mode> > > <fill-configuration> > > <use-query-cache>false</use-query-cache> > > <allow-hql-queries>true</allow-hql-queries> > > </fill-configuration> > > </server> > > </properties> > > </destination> > > > > _______________________________ > > > > > > 12/01 14:39:24 user [Flex] 14:39:24.507 [DEBUG] [Endpoint.RTMP] > > Deserializing AMF/RTMP request > > Version: 3 > > (Command method=null (0) trxId=3.0) > > null > > (Typed Object #0 'flex.messaging.messages.CommandMessage') > > messageRefType = "flex.data.messages.DataMessage" > > operation = 0 > > correlationId = "" > > messageId = "29A272A1-A246-13E8-5532-402C036BE987" > > destination = "Dashboard" > > timestamp = 0 > > body = (Object #1) > > clientId = "611A30D3-2D63-0B48-2E83-402C034C71AD" > > timeToLive = 0 > > headers = (Object #2) > > DSEndpoint = "my-rtmp" > > > > 12/01 14:39:24 user [Flex] 14:39:24.522 [DEBUG] > > [Message.Command.subscribe] Executed command: service=data-service > > commandMessage: Flex Message (flex.messaging.messages.CommandMessage) > > operation = subscribe > > selector = null > > messageRefType = flex.data.messages.DataMessage > > clientId = 611A30D3-2D63-0B48-2E83-402C034C71AD > > correlationId = > > destination = Dashboard > > messageId = 29A272A1-A246-13E8-5532-402C036BE987 > > timestamp = 1165012764522 > > timeToLive = 0 > > body = {} > > hdr(DSEndpoint) = my-rtmp > > replyMessage: Flex Message > (flex.messaging.messages.AcknowledgeMessage) > > clientId = 611A30D3-2D63-0B48-2E83-402C034C71AD > > correlationId = 29A272A1-A246-13E8-5532-402C036BE987 > > destination = null > > messageId = 3BAB7E19-CA0C-A3B3-7C9D-A1B6B29FFCE9 > > timestamp = 1165012764522 > > timeToLive = 0 > > body = null > > > > > > 12/01 14:39:25 user [Flex] 14:39:25.777 [DEBUG] [Message.Data.get] > > After invoke service: data-service > > reply: Flex Message (flex.data.messages.PagedMessage) > > sequenceId = -1 > > sequenceSize = 1 > > (no sequence proxies) > > clientId = null > > correlationId = null > > destination = Applicationconfig > > messageId = 3BAB89A1-730A-2D39-83CE-4FEE7E43D508 > > timestamp = 1165012765731 > > timeToLive = 0 > > body = > > [ > > [Proxy([EMAIL PROTECTED]) > > proxyClass=class flex.messaging.io.BeanProxy descriptor=[ excludes: > > [dashboards]]] > > ] > > hdr(referencedIds) = > > [ > > {dashboards= > > [ > > {id=1164467032523719875336}, > > {id=1164388051550092880785}, > > {id=1156440527883820192695}, > > {id=1164384322718557235986}, > > {id=1164467037039304665983}, > > {id=1164467025953663641911} > > ]} > > ] > > > > 12/01 14:39:25 user [Flex] 14:39:25.839 [DEBUG] [Endpoint.RTMP] > > Serializing AMF/RTMP response > > Version: 3 > > (Command method=_result (0) trxId=4) > > (Typed Object #0 'flex.data.messages.PagedMessage') > > destination = "Applicationconfig" > > sequenceId = -1 > > dataMessage = null > > headers = (Object #1) > > referencedIds = (Array #2) > > [0] = (Object #3) > > dashboards = (Array #4) > > [0] = (Typed Object #5 'flex.data.ItemIdentity') > > id = "1164467032523719875336" > > [1] = (Typed Object #6 'flex.data.ItemIdentity') > > id = "1164388051550092880785" > > [2] = (Typed Object #7 'flex.data.ItemIdentity') > > id = "1156440527883820192695" > > [3] = (Typed Object #8 'flex.data.ItemIdentity') > > id = "1164384322718557235986" > > [4] = (Typed Object #9 'flex.data.ItemIdentity') > > id = "1164467037039304665983" > > [5] = (Typed Object #10 'flex.data.ItemIdentity') > > id = "1164467025953663641911" > > correlationId = "4A3FBA46-ED42-7507-489F-402C036BBDB9" > > messageId = "3BAB89A1-730A-2D39-83CE-4FEE7E43D508" > > pageCount = 1 > > timeToLive = 0.0 > > pageIndex = 0 > > timestamp = 1.165012765731E12 > > clientId = "EDF46342-59C0-1C0A-C822-402C033D44C2" > > sequenceProxies = null > > body = (Array #11) > > [0] = (Typed Object #12 > > 'com.company.config.presentation.Applicationconfig') > > userid = 0.0 > > savename = "SYS" > > appCriteria = (Externalizable Object #13 > > 'flex.messaging.io.ArrayCollection') > > (Array #14) > > selecteddashboard = "1156440527883820192695" > > businessname = "MAIN" > > applicationname = "MAIN" > > name = "MAIN" > > id = "1163778853188464256078" > > sequenceSize = 1 > > > > 12/01 14:39:43 user [Flex] 14:39:43.630 [DEBUG] [Endpoint.RTMP] > > Deserializing AMF/RTMP request > > Version: 3 > > (Command method=null (0) trxId=5.0) > > null > > (Typed Object #0 'flex.data.messages.DataMessage') > > operation = 20 > > body = (Object #1) > > prop = "dashboards" > > parent = "Applicationconfig" > > id = (Object #2) > > id = "1163778853188464256078" > > identity = null > > correlationId = "" > > messageId = "6C2B486D-F439-4857-E074-402C51FEE422" > > destination = "Dashboard" > > timestamp = 0 > > body = (Ref #1) > > clientId = "611A30D3-2D63-0B48-2E83-402C034C71AD" > > timeToLive = 0 > > headers = (Object #3) > > DSEndpoint = "my-rtmp" > > DSids = (Array #4) > > [0] = (Object #5) > > id = "1164467032523719875336" > > [1] = (Object #6) > > id = "1164388051550092880785" > > [2] = (Object #7) > > id = "1156440527883820192695" > > [3] = (Object #8) > > id = "1164384322718557235986" > > [4] = (Object #9) > > id = "1164467037039304665983" > > [5] = (Object #10) > > id = "1164467025953663641911" > > > > 12/01 14:39:43 user [Flex] 14:39:43.630 [DEBUG] > > [Message.Data.page_items] Before invoke service: data-service > > incomingMessage: Flex Message (flex.data.messages.DataMessage) > > operation = page_items > > id = null > > clientId = 611A30D3-2D63-0B48-2E83-402C034C71AD > > correlationId = > > destination = Dashboard > > messageId = 6C2B486D-F439-4857-E074-402C51FEE422 > > timestamp = 1165012783630 > > timeToLive = 0 > > body = {prop=dashboards, id={id=1163778853188464256078}, > > parent=Applicationconfig} > > hdr(DSEndpoint) = my-rtmp > > hdr(DSids) = > > [ > > {id=1164467032523719875336}, > > {id=1164388051550092880785}, > > {id=1156440527883820192695}, > > {id=1164384322718557235986}, > > {id=1164467037039304665983}, > > {id=1164467025953663641911} > > ] > > > > 12/01 14:39:43 user [Flex] 14:39:43.692 [DEBUG] > > [DataService.Hibernate] Get object from hibernate with > > id=1163778853188464256078 -> > > [EMAIL PROTECTED] > > Exception in RtmpReader thread: java.lang.ClassCastException: > > org.hibernate.collection.PersistentSet > > java.lang.ClassCastException: org.hibernate.collection.PersistentSet > > at > > > flex.data.SequenceManager.getItemsFromCollectionId(SequenceManager.java: > 739)12/01 > > 14:39:43 user [Flex] 14:39:43.769 [ERROR] [Message.General] Exception > > when invoking service: data-service > > with message: Flex Message (flex.data.messages.DataMessage) > > operation = page_items > > id = null > > clientId = 611A30D3-2D63-0B48-2E83-402C034C71AD > > correlationId = > > destination = Dashboard > > messageId = 6C2B486D-F439-4857-E074-402C51FEE422 > > timestamp = 1165012783630 > > timeToLive = 0 > > body = {prop=dashboards, id={id=1163778853188464256078}, > > parent=Applicationconfig} > > hdr(DSEndpoint) = my-rtmp > > hdr(DSids) = > > [ > > {id=1164467032523719875336}, > > {id=1164388051550092880785}, > > {id=1156440527883820192695}, > > {id=1164384322718557235986}, > > {id=1164467037039304665983}, > > {id=1164467025953663641911} > > ] > > exception: java.lang.ClassCastException: > > org.hibernate.collection.PersistentSet > > > > > > at > > > flex.data.SequenceManager.getPageFromSequence(SequenceManager.java:694) > > at flex.data.DataService.serviceMessage(DataService.java:234) > > at > > > flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:54 > 8) > > at > > > flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoin > t.java:302) > > at > > > flex.messaging.endpoints.rtmp.AbstractRTMPServer.dispatchMessage(Abstrac > tRTMPServer.java:682) > > at > > > flex.messaging.endpoints.rtmp.NIORTMPConnection$RTMPReader.run(NIORTMPCo > nnection.java:665) > > at > > > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker > .runTask(ThreadPoolExecutor.java:643) > > at > > > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker > .run(ThreadPoolExecutor.java:668) > > at java.lang.Thread.run(Thread.java:595) > > >