Bom dia galera,
estou com um erro muito misterioso.
tenho um objeto que é composto por uma complexa coleção de dados. Nada de mais, apenas contém muitos dados. Uma lista com cerca de 10000 itens.
O problema é que quando o sistema vai serializar, está dando estouro de pilha. Veja:
java.lang.StackOverflowError
at java.io.Bits.putLong(Bits.java:108)
at java.io.ObjectOutputStream$BlockDataOutputStream.writeLong(ObjectOutputStream.java:1928)
at java.io.ObjectOutputStream.writeLong(ObjectOutputStream.java:788)
at java.util.Date.writeObject(Date.java:1303)
at sun.reflect.GeneratedMethodAccessor41.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
Esse erro se repete por muitas linhas.
Meu Ambiente:
Estou usando Akka, Google Guice e Neo4J
O problema está na serialização que o Akka faz. Se não me engano, ele não usa nenhuma dessas APIs de serialização como o Protobuf do Google. Ou seja, serialização pura do Java mesmo.
Em alguns trabalhos da epoca da faculdade, eu fazia serialização de 200.000 objetos de uma vez sem nenhum problema. Já serializei objetos recursivos (como grafos) sem nenhum problema.
Alguém já teve esse problema?