We do have a bug fix release coming out pretty soon that should have the
fixes to several FDMS bugs.   It won't have the fix for this problem
because we found it too late unfortunately.  

 

We can also produce hotfixes for any other problems though I think that
requires going through our regular support folks.  

 

Jeff

 

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of thunderstumpgesatwork
Sent: Monday, December 11, 2006 12:09 PM
To: [email protected]
Subject: [flexcoders] Re: FDS - class cast exception - lazy loading
relationship

 

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 [email protected] <mailto:flexcoders%40yahoogroups.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: [email protected] <mailto:flexcoders%40yahoogroups.com>
[mailto:[email protected] <mailto:flexcoders%40yahoogroups.com>
] On
> Behalf Of thunderstumpgesatwork
> Sent: Tuesday, December 05, 2006 8:20 AM
> To: [email protected] <mailto:flexcoders%40yahoogroups.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 [email protected]
<mailto:flexcoders%40yahoogroups.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)
> >
>

 

Reply via email to