I'm a bit lost here. I'm trying to encode a ERCalendar object in JSON, and I'm 
getting problems. That object (coming from ERCalendar2) also have a array that 
contains EREvent objects.

So I did that:

        JSONSerializer serializer = new JSONSerializer();
        serializer.registerDefaultSerializers();
        serializer.registerSerializer(new ERXBeanSerializer(EREvent.class));
        serializer.registerSerializer(new ERXBeanSerializer(ERCalendar.class));
        serializer.registerSerializer(new NSArraySerializer());

But I'm getting Java heap space errors (see full stack below).  

If I don't serialize EREvent, no errors, but the EREvent objects are not 
serialized. So I guess something make the serializer to go an infinite loop in 
EREvent, but I don't know what.

Any suggestions?

Stacktrace:

 INFO [er.ajax.json.serializer.ERXBeanSerializer] analyzing 
er.calendar2.ERCalendar
 INFO [org.jabsorb.serializer.impl.BeanSerializer] analyzing 
net.fortuna.ical4j.model.Calendar
...
 INFO [org.jabsorb.serializer.impl.BeanSerializer] analyzing java.net.Proxy$Type
 INFO [org.jabsorb.serializer.impl.BeanSerializer] analyzing 
java.util.concurrent.TimeUnit$1
 INFO [org.jabsorb.serializer.impl.BeanSerializer] analyzing 
java.util.concurrent.TimeUnit$2
 INFO [org.jabsorb.serializer.impl.BeanSerializer] analyzing 
java.util.concurrent.TimeUnit$3
 INFO [org.jabsorb.serializer.impl.BeanSerializer] analyzing 
java.util.concurrent.TimeUnit$4
 INFO [org.jabsorb.serializer.impl.BeanSerializer] analyzing 
java.util.concurrent.TimeUnit$5
 INFO [org.jabsorb.serializer.impl.BeanSerializer] analyzing 
java.util.concurrent.TimeUnit$6
 INFO [org.jabsorb.serializer.impl.BeanSerializer] analyzing 
java.util.concurrent.TimeUnit$7
 WARN [NSLog] <com.webobjects.appserver._private.WOComponentRequestHandler>: 
Exception occurred while handling request:
com.webobjects.foundation.NSForwardException 
[java.lang.reflect.InvocationTargetException] 
null:java.lang.reflect.InvocationTargetException
[2011-5-5 9:1:43 EDT] <WorkerThread0> 
com.webobjects.foundation.NSForwardException 
[java.lang.reflect.InvocationTargetException] 
null:java.lang.reflect.InvocationTargetException
        at 
com.webobjects.foundation._NSUtilities._explainInstantiationException(_NSUtilities.java:626)
        at 
com.webobjects.foundation._NSUtilities.instantiateObject(_NSUtilities.java:646)
        at 
com.webobjects.appserver._private.WOComponentDefinition._componentInstanceInContext(WOComponentDefinition.java:544)
        at 
com.webobjects.appserver._private.WOComponentDefinition.componentInstanceInContext(WOComponentDefinition.java:642)
        at 
com.webobjects.appserver.WOApplication.pageWithName(WOApplication.java:2332)
        at 
com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedSession(WOComponentRequestHandler.java:284)
        at 
com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedApplication(WOComponentRequestHandler.java:332)
        at 
com.webobjects.appserver._private.WOComponentRequestHandler._handleRequest(WOComponentRequestHandler.java:369)
        at 
com.webobjects.appserver._private.WOComponentRequestHandler.handleRequest(WOComponentRequestHandler.java:442)
        at 
com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1687)
        at 
er.extensions.appserver.ERXApplication.dispatchRequestImmediately(ERXApplication.java:1984)
        at 
er.extensions.appserver.ERXApplication.dispatchRequest(ERXApplication.java:1949)
        at 
com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:144)
        at 
com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:226)
        at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at 
com.webobjects.foundation._NSUtilities.instantiateObject(_NSUtilities.java:640)
        ... 13 more
Caused by: java.lang.OutOfMemoryError: Java heap space
        at java.util.LinkedList.toArray(LinkedList.java:863)
        at java.util.ArrayList.<init>(ArrayList.java:131)
        at org.jabsorb.serializer.FixUp.<init>(FixUp.java:57)
        at 
org.jabsorb.serializer.SerializerState.addFixUp(SerializerState.java:74)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:371)
        at 
org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)

 WARN [NSLog] Ran out of memory, killing this instance
FATAL [er.extensions.appserver.ERXApplication] Ran out of memory, killing this 
instance
FATAL [er.extensions.appserver.ERXApplication] Ran out of memory, killing this 
instance
java.lang.OutOfMemoryError: Java heap space
        at java.util.LinkedList.toArray(LinkedList.java:863)
        at java.util.ArrayList.<init>(ArrayList.java:131)
        at org.jabsorb.serializer.FixUp.<init>(FixUp.java:57)
        at 
org.jabsorb.serializer.SerializerState.addFixUp(SerializerState.java:74)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:371)
        at 
org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
        at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
        at 
org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235) 
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to