J'ai une structure en arbre d'objet à sérialiser. Lorsque la structure atteint une taille critique, j'ai une erreur de type StackOverFlowError qui est levée.

Code pour sérialiser mon objet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
public static void serialize(Serializable serializable, OutputStream outputStream)
    throws ATypeOfException {
	try {
	    ObjectOutputStream objectOutputStream = new ObjectOutputStream(
	            outputStream);
	    objectOutputStream.writeObject(serializable);
	    objectOutputStream.close();
	} catch (IOException e) {
		throw new ATypeOfException(e);
	} catch(StackOverflowError e){
		throw new ATypeOfException(e);
	}
}
En cherchant un peu sur Google, j'ai trouvé ceci (pour ceux que ça intéresse) :
http://forum.java.sun.com/thread.jsp?forum=4&thread=320056

Sur la base de cette discussion, j'ai implémenté les méthodes suivantes dans les objets intervenant dans ma structure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
    private void writeObject(ObjectOutputStream out) throws IOException {
    //Ecriture sur le flux des attributs de mon objets
    }
 
    private void readObject(ObjectInputStream in) throws IOException,
            ClassNotFoundException {
    //Lecture depuis le flux des attributs de mon objets
    }
Exactement même comportement que sans leur implémentation.

J'ai aussi réfléchi aux champs contenus dans mes objets pour définir ceux qui ne m'intéressent pas comme transient afin de ne pas les sérialiser... Mais toujours même comportement.

Je pose donc la question suivante, est-ce que quelqu'un est déjà tombé sur un cas semblable, si oui, alors comment l'a-t'il résolu...

Merci @+