Serialisieren

nex_m

Erfahrenes Mitglied
Hey..

mein Problem ist folgendes:

Ich habe einen Graphen dem Elemente (erweitern JComponent) hinzugefügt werden.
Die Elemente haben eigentlich nur Integer, Boolean Felder und ein (Buffered)Image Feld. Das image-Feld ist transient, weil es eigentlich nicht mitserialisiert werden soll (implementiert auch nicht Serializable).
Wenn ich jetzt versuche diese Elemente zu serialisieren schlägt das fehl : java.io.NotSerializableException : Controller (Controller ist eine andere Klasse)., obwohl es kein Feld vom Typ Controller gibt.
Was kann man da machen?
 
Mein tip geht in eine sehr ähnliceh Richtung...
schau doch mal auf alle Deine Felder Deines zu serialisierenden Objektes. und schau dort auch noch in deren Klassen, da muss irgendwo ein Controller rumfliegen.

Ich habe mal bei einem 4'er-Schachspiel die Erfahrung gemacht, dass das Serialiseren mittels der nativ Java-Möglichkeit schnell dazuführt, dass man mehr serialisiert als man vielleicht benögitgt. Falls Du Deine objektserialisierung durch eine Leitung schicken willst, empfiehlt es sich meiner Meinung nach wirklich lieber zu Fuß zu "serialisieren" (soll heißen die notwendigen Daten zu sammeln und zu schicken), und zwar wirklich nur dass was man an Informationen benötigt.
Damals hatte ich das ganze Schachbrett serialisiert, falls jemand sich in ein Spiel einloggt. Es war wirklich keine gute Idee, und ,obgleich ich dachte, es wäre, was den Programmieraufwand angeht, die einfachere Variante, musste ich feststellen, dass bei Tests ich viele Objekte/Felder als transient markieren musste, damit es tatsächlich ging.

in diesem Sinne und viel Glück bei der Suche

Takidoso
 
Hab schon danach gesucht.
Es werden auch Listener dem Element hinzugefügt, da steckt der Controller indirekt mit drin. Kann es daran liegen?
 
Ich denke im Zweifelsfalle Ja!
Wie oben geschrieben, hatte ich eine Menge Zeit damit aufgewendet Objekte aus der automatischen Serialisierung auszuschließn, da waren solche Sachen wie Listener etc auch dabei und es kostete viel Ausprobieren und Gehirnwindungen.
Besser ganz ist sich tatächlich nur auf das notwendige zu beschränken - quasi zu Fuß pseudoserialisieren.
 

Neue Beiträge

Zurück