boon
boon copied to clipboard
Joda DateTime
Ever seen issues with stackOverflow error and DateTime in json parsing? Boon/QBit fail in a horrible way if you use a JODA DateTime.
Exception in thread "WebSocketProtocolEncoder-4" java.lang.StackOverflowError
at io.advantageous.boon.json.serializers.impl.FieldSerializerUseAnnotationsImpl.serializeField(FieldSerializerUseAnnotationsImpl.java:118)
at io.advantageous.boon.json.serializers.impl.JsonSerializerImpl.serializeField(JsonSerializerImpl.java:181)
at io.advantageous.boon.json.serializers.impl.InstanceSerializerImpl.serializeSubtypeInstance(InstanceSerializerImpl.java:84)
at io.advantageous.boon.json.serializers.impl.JsonSerializerImpl.serializeSubtypeInstance(JsonSerializerImpl.java:240)
at io.advantageous.boon.json.serializers.impl.FieldSerializerUseAnnotationsImpl.serializeField(FieldSerializerUseAnnotationsImpl.java:374)
at io.advantageous.boon.json.serializers.impl.JsonSerializerImpl.serializeField(JsonSerializerImpl.java:181)
at io.advantageous.boon.json.serializers.impl.InstanceSerializerImpl.serializeSubtypeInstance(InstanceSerializerImpl.java:84)
Note that the StackOverflow was not a consistent thing, and specifically happened in the context not of Boon serialization itself but over the websocket in the context of QBit.
E.G. This works, but the response is crazy big and I wonder if it is related to this.
public class BoonDateTimeBugTest {
@Test
public void testBoonDateTimeBug() {
System.out.println(io.advantageous.boon.json.JsonFactory.toJson(org.joda.time.DateTime.now()));
}
}