Re: Possible Max Size Problem? -repost

From: Victor Rodriguez <dorlomin@xxx.com>
Date: Wed Jan 19 2005 - 06:25:43 PST

Hello,

It may be that what you think is being sent is not what is actually
being sent. Doesn't Hibernate use its own implementation of
collections under the covers? If it does, it might be fooling Hessian.
Try putting a few trace messages on the Hessian code, or stepping
through it.

BR,

Victor Rodriguez.

On Wed, 19 Jan 2005 09:17:44 -0500, Marti, Adrian (Adrian)
<amarti@xxx.com> wrote:
> Christian,
>
> Thank for the help. I do not use any final attributes in my
> objects. Here is my object structure maybe that will help.
>
> Java.util.List--
> [0]--Equipment Object (hibernate pojo)
> --String,String,String
> --EquipmentKeys ( java.util.Set ) //this is
> what I nulled
> [0]-- String,String,String
> [1]-- String etc
> [n]-- "
> [n]--"
>
> I return the List through Hessian. Everything is serializable. And I can
> send a list with capacity 18 before it dies. If I null that inner
> equipment keys set, I can send many more depending on if I null it every
> time or every nth time. Any other ideas? I would really hate to stop
> using Hessian now but I get no warning of this error and have no idea
> when im reaching the limit. Is there a spec sheet somewhere?
>
> Thanks again,
> Adrian
>
> -----Original Message-----
> From: owner-hessian-interest@xxx.com
> [mailto:owner-hessian-interest@xxx.com] On Behalf Of Christian Campo
> Sent: Wednesday, January 19, 2005 2:54 AM
> To: hessian-interest@xxx.com
> Subject: Re: Possible Max Size Problem? -repost
>
> just a guess.....Do you use fields with the attribute "final" ??
>
> On Tue, 18 Jan 2005 12:17:49 -0500, Marti, Adrian (Adrian)
> <amarti@xxx.com> wrote:
> > Hello all,
> >
> > Hope this comes through ok. I am using Hessian 3.0.8 for Java on 1.4.2
> jvm with server portion under weblogic 8.1. I am sending back results
> from a DB query made with hibernate. The return type is a java.list with
> each entry containing 2 custom serializable pojo's and a few java sets.
> The issue I am having is that I can send about 18 objects ( list with 20
> objects, so 20 results from DB call) fine, but then after that I get a
> strange deserialization exception. ( Posted Below ) . I wasn't sure the
> cause so I did some tests by nulling out some of the sets that the
> custom java objects have populated ( to cut some data out, save space )
> I started by nulling out an internal set on every other object in the
> working my way up to every 4th object in the list. When I nulled every
> other I was able to pull 42 objects and every 4th I could pull 24
> objects. So it seems as though I am hitting some type of size limit with
> my Hessian query. I tried searching the FAQ, mail history, google etc
> with no luck. Any ideas?
> >
> > Thanks,
> > Adrian Marti
> >
> > Exception -----
> >
> > java.lang.IllegalArgumentException
> > at
> sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorI
> mpl.java:63)
> > at java.lang.reflect.Field.set(Field.java:519)
> > at
> com.caucho.hessian.io.JavaDeserializer.readMap(JavaDeserializer.java:129
> )
> > at
> com.caucho.hessian.io.JavaDeserializer.readMap(JavaDeserializer.java:105
> )
> > at
> com.caucho.hessian.io.SerializerFactory.readMap(SerializerFactory.java:2
> 22)
> > at
> com.caucho.hessian.io.HessianInput.readObject(HessianInput.java:1120)
> > at
> com.caucho.hessian.io.CollectionDeserializer.readList(CollectionDeserial
> izer.java:106)
> > at
> com.caucho.hessian.io.HessianInput.readObject(HessianInput.java:1011)
> > at
> com.caucho.hessian.io.JavaDeserializer.readMap(JavaDeserializer.java:128
> )
> > at
> com.caucho.hessian.io.JavaDeserializer.readMap(JavaDeserializer.java:105
> )
> > at
> com.caucho.hessian.io.SerializerFactory.readMap(SerializerFactory.java:2
> 22)
> > at
> com.caucho.hessian.io.HessianInput.readObject(HessianInput.java:1120)
> > at
> com.caucho.hessian.io.CollectionDeserializer.readList(CollectionDeserial
> izer.java:106)
> > at
> com.caucho.hessian.io.HessianInput.readObject(HessianInput.java:1011)
> > at
> com.caucho.hessian.io.HessianInput.readReply(HessianInput.java:279)
> > at
> com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:184)
> > at $Proxy2.getEquipmentByGroup(Unknown Source)
> > at
> network.tmsClientSession.getEquipment(tmsClientSession.java:2463)
> > at gui.tmsEquipment.getEquipment(tmsEquipment.java:854)
> > at gui.tmsEquipment.createChildren(tmsEquipment.java:794)
> > at gui.tmsEquipment.leftTreeValueChanged(tmsEquipment.java:661)
> > at gui.tmsEquipment$16.valueChanged(tmsEquipment.java:555)
> > at javax.swing.JTree.fireValueChanged(JTree.java:2392)
> > at
> javax.swing.JTree$TreeSelectionRedirector.valueChanged(JTree.java:2763)
> > at
> javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeS
> electionModel.java:629)
> > at
> javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTreeS
> electionModel.java:1076)
> > at
> javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(DefaultTree
> SelectionModel.java:287)
> > at
> javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(DefaultTreeS
> electionModel.java:170)
> > at javax.swing.JTree.setSelectionPath(JTree.java:1168)
> > at
> javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(BasicTreeUI.java:2
> 192)
> > at
> javax.swing.plaf.basic.BasicTreeUI$MouseHandler.handleSelection(BasicTre
> eUI.java:2840)
> > at
> javax.swing.plaf.basic.BasicTreeUI$MouseHandler.mousePressed(BasicTreeUI
> .java:2801)
> > at
> java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:222)
> > at java.awt.Component.processMouseEvent(Component.java:5097)
> > at java.awt.Component.processEvent(Component.java:4897)
> > at java.awt.Container.processEvent(Container.java:1569)
> > at java.awt.Component.dispatchEventImpl(Component.java:3615)
> > at java.awt.Container.dispatchEventImpl(Container.java:1627)
> > at java.awt.Component.dispatchEvent(Component.java:3477)
> > at
> java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
> > at
> java.awt.LightweightDispatcher.processMouseEvent(Container.java:3195)
> > at
> java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
> > at java.awt.Container.dispatchEventImpl(Container.java:1613)
> > at java.awt.Window.dispatchEventImpl(Window.java:1606)
> > at java.awt.Component.dispatchEvent(Component.java:3477)
> > at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
> > at
> java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThrea
> d.java:201)
> > at
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.
> java:151)
> > at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
> > at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
> > at
> java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
> > java.lang.reflect.UndeclaredThrowableException
> > at $Proxy2.getEquipmentByGroup(Unknown Source)
> > at
> network.tmsClientSession.getEquipment(tmsClientSession.java:2463)
> > at gui.tmsEquipment.getEquipment(tmsEquipment.java:854)
> > at gui.tmsEquipment.createChildren(tmsEquipment.java:794)
> > at gui.tmsEquipment.leftTreeValueChanged(tmsEquipment.java:661)
> > at gui.tmsEquipment$16.valueChanged(tmsEquipment.java:555)
> > at javax.swing.JTree.fireValueChanged(JTree.java:2392)
> > at
> javax.swing.JTree$TreeSelectionRedirector.valueChanged(JTree.java:2763)
> > at
> javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeS
> electionModel.java:629)
> > at
> javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTreeS
> electionModel.java:1076)
> > at
> javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(DefaultTree
> SelectionModel.java:287)
> > at
> javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(DefaultTreeS
> electionModel.java:170)
> > at javax.swing.JTree.setSelectionPath(JTree.java:1168)
> > at
> javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(BasicTreeUI.java:2
> 192)
> > at
> javax.swing.plaf.basic.BasicTreeUI$MouseHandler.handleSelection(BasicTre
> eUI.java:2840)
> > at
> javax.swing.plaf.basic.BasicTreeUI$MouseHandler.mousePressed(BasicTreeUI
> .java:2801)
> > at
> java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:222)
> > at java.awt.Component.processMouseEvent(Component.java:5097)
> > at java.awt.Component.processEvent(Component.java:4897)
> > at java.awt.Container.processEvent(Container.java:1569)
> > at java.awt.Component.dispatchEventImpl(Component.java:3615)
> > at java.awt.Container.dispatchEventImpl(Container.java:1627)
> > at java.awt.Component.dispatchEvent(Component.java:3477)
> > at
> java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
> > at
> java.awt.LightweightDispatcher.processMouseEvent(Container.java:3195)
> > at
> java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
> > at java.awt.Container.dispatchEventImpl(Container.java:1613)
> > at java.awt.Window.dispatchEventImpl(Window.java:1606)
> > at java.awt.Component.dispatchEvent(Component.java:3477)
> > at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
> > at
> java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThrea
> d.java:201)
> > at
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.
> java:151)
> > at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
> > at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
> > at
> java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
> > Caused by: java.io.IOException: java.lang.IllegalArgumentException
> > at
> com.caucho.hessian.io.JavaDeserializer.readMap(JavaDeserializer.java:148
> )
> > at
> com.caucho.hessian.io.JavaDeserializer.readMap(JavaDeserializer.java:105
> )
> > at
> com.caucho.hessian.io.SerializerFactory.readMap(SerializerFactory.java:2
> 22)
> > at
> com.caucho.hessian.io.HessianInput.readObject(HessianInput.java:1120)
> > at
> com.caucho.hessian.io.CollectionDeserializer.readList(CollectionDeserial
> izer.java:106)
> > at
> com.caucho.hessian.io.HessianInput.readObject(HessianInput.java:1011)
> > at
> com.caucho.hessian.io.JavaDeserializer.readMap(JavaDeserializer.java:128
> )
> > at
> com.caucho.hessian.io.JavaDeserializer.readMap(JavaDeserializer.java:105
> )
> > at
> com.caucho.hessian.io.SerializerFactory.readMap(SerializerFactory.java:2
> 22)
> > at
> com.caucho.hessian.io.HessianInput.readObject(HessianInput.java:1120)
> > at
> com.caucho.hessian.io.CollectionDeserializer.readList(CollectionDeserial
> izer.java:106)
> > at
> com.caucho.hessian.io.HessianInput.readObject(HessianInput.java:1011)
> > at
> com.caucho.hessian.io.HessianInput.readReply(HessianInput.java:279)
> > at
> com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:184)
> > ... 35 more
> >
> >
> > Adrian Marti | Software Developer
> > amarti@xxx.com
> >
> >
>
> --
> christian campo (gmail.com)
>
>
Received on Wed 19 Jan 2005 06:25:43 -0800

This archive was generated by hypermail 2.1.8 : Thu Sep 28 2006 - 20:16:40 PDT