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:548)
        at
flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:302)
        at
flex.messaging.endpoints.rtmp.AbstractRTMPServer.dispatchMessage(AbstractRTMPServer.java:682)
        at
flex.messaging.endpoints.rtmp.NIORTMPConnection$RTMPReader.run(NIORTMPConnection.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</hibernate-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:548)
        at
flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:302)
        at
flex.messaging.endpoints.rtmp.AbstractRTMPServer.dispatchMessage(AbstractRTMPServer.java:682)
        at
flex.messaging.endpoints.rtmp.NIORTMPConnection$RTMPReader.run(NIORTMPConnection.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