RE: Possible Max Size Problem? -repost

From: Marti, Adrian (Adrian) <amarti@xxx.com>
Date: Wed Jan 19 2005 - 06:17:44 PST

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:17:44 -0800

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