Deserialisierung funktioniert n. Refaktorisierung nicht mehr

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi,

ich habe ein simples aber ebenso ekliges Problem. Ich habe meine Klassen refaktorisiert, i.d.R. sind die Klassen nicht umbenannt worden, aber verschoben oder in größeren Packages umorganisiert. Nun lassen sich die komplexeren Objekte nicht mehr von Festplatte deserialisieren (Standard Java Serialisierung/Deserialisierung). JDK 1.6.


Gibt es hierzu einen effizienten Ansatz, oder muss ich die gesamte Refaktorisierung rückgängig machen?


Schonmal vielen Dank vorrab! Thomas
 

Wildcard

Top Contributor
Sollte doch klar sein das sowas knallt, deshalb ist Objektserialisierung auch keine sinnvolle Persistierung.
Du musst alles rückgängig machen (und die Serial Version ID muss passen).
 
G

Guest

Gast
Hi,

ich überlege gerade mir einen Converter zu stricken. Da die alten Packagenamen sich von den neuen unterscheiden sollte das doch gehen zwei gleiche Datentypen aus jeweils unterschiedlichen Packages in einem Programm zu benutzen. Dazwischen muss halt leider mühselig jeder Datentyp umkopiert werden in den Neuen, anschliessend würde ich das dann wieder serialisieren. So muss man halt leider runter bis auf die elementaren Datentypen. Schön ist das nicht. Bin mir auch noch nicht so ganz so sicher ob das funktionieren wird, was meinst du?
 
G

Gast

Gast
PS: Was empfiehlst du statt dessen um Objekte persistent zu machen? Also etwas wo ich danach trotzdem noch refaktorisieren kann ohne das es etwas ausmacht wenn ich alte Objekte wieder lade? Mir fällt dazu nicht ein wie das gehen könnte.
 

Wildcard

Top Contributor
In dem du ein Datenformat verwendest. XML beispielsweise. Zusammen mit einem Binding Framework ist es auch nur unwesentlich mehr Aufwand als Serialisierung, aber wesentlich flexibler und robuster.
 
G

Guest

Gast
Hmm, ok. Aber was ist wenn sich der Name eines Objektes ändert? Soweit wie ich jetzt XML Files kenne stehen da ja auch die Name der Klassen bzw. der Objekte hierarchisch gegliedert drin. Damit kommt die XML Deserialisierung doch auch nicht klar oder etwa doch?

Leider findet sich im Web kein vernünftiger Artikel zum Thema Refaktorisierung in Kombination mit Serialisierung/Deserialisierung (bzw. Persistenz). Hast du einen Quellentip parat der auf diese Themenkombination näher eingeht?
 

Wildcard

Top Contributor
Soweit wie ich jetzt XML Files kenne stehen da ja auch die Name der Klassen bzw. der Objekte hierarchisch gegliedert drin
Nein, in XML schreibst du deine Geschäftsdaten (abstrahiert von Quellcode). In der Regel fängt man mit der Definition eines XML Schemas anhand dessen man sich dann acuh automatisch passende Java Klassen generieren lassen kann. Ich empfehle EMF.
 
M

maki

Gast
Leider findet sich im Web kein vernünftiger Artikel zum Thema Refaktorisierung in Kombination mit Serialisierung/Deserialisierung (bzw. Persistenz).
Wirst du so auch nicht finden.

Persistenz sollte immer gekapselt werden, dass ist das Gegenteil von Serialisieren, wo die serialisierten Objekten zu 100% von den Klassen und der Struktur abhängig sind.
 
S

SlaterB

Gast
denn neben der ganz einfachen Persistenz in Testprogrammen ist die entscheidene Hauptaufgabe der Serialisierung der Austausch von Objekten innerhalb von (Milli-)Sekunden zwischen Sender und Empfänger z.B. auf verschiedenen Computern,

dafür kann leicht vorausgesetzt werden, dass beide die gleiche Klassenversion haben
 
G

Guest

Gast
Ah ok, alles klar. Dann weiss ich jetzt in welcher Richtung ich mich einlesen muss.
 
G

Guest

Gast
Sodalla. Das mit dem Converter hat funktioniert. Ist aber eine echt assoziale Methode. Kann ich nur jedem davon abraten... Bevor die Klassen geändert werden, erstmal nachdenken und für dauerhafte Persistenz XML und Consorten nutzen...!

In diesem Sinne viele Grüße, Tom
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Serialisierung und Deserialisierung von Objekten - Frageprogramm Allgemeine Java-Themen 4
E Serialisierung - Deserialisierung Allgemeine Java-Themen 4
W Deserialisierung und Ausführung Allgemeine Java-Themen 2
woezelmann Object nach Deserialisierung nicht mehr gleich Allgemeine Java-Themen 13
S Deserialisierung EOF Allgemeine Java-Themen 5
Z Serialisierung und Deserialisierung einer HashMap Allgemeine Java-Themen 17
V Wie funktioniert das Schlüsselwort "final" von Java? Allgemeine Java-Themen 19
M Apache Proxy Weiterleitung auf Tomcat funktioniert nicht wie gewünscht Allgemeine Java-Themen 1
W While Schleife funktioniert nicht ganz Allgemeine Java-Themen 4
H do-while Schleife funktioniert nicht wie ich es möchte Allgemeine Java-Themen 7
ERlK JDA Code funktioniert nicht? Allgemeine Java-Themen 4
B HeapSort für Array of Strings funktioniert nur teilweise Allgemeine Java-Themen 3
stormyark TikTakToe funktioniert nicht Allgemeine Java-Themen 10
T Remove bei ArrayList funktioniert nicht Allgemeine Java-Themen 2
M Map<String,String>funktioniert nicht richtig Allgemeine Java-Themen 4
P String.replace() funktioniert nicht? Allgemeine Java-Themen 3
boschl2000 Springerproblem-Implementierung funktioniert nicht richtig Allgemeine Java-Themen 1
F Getter Methode aufrufen funktioniert nicht Allgemeine Java-Themen 1
N Regulärer Ausdruck funktioniert nicht Allgemeine Java-Themen 6
Lukas2904 Wie funktioniert ein KeyLogger? Allgemeine Java-Themen 3
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
1Raini Java if-Abfrage funktioniert nicht! Allgemeine Java-Themen 3
Killunox MaxHeap Zuweisung unter Linux funktioniert nicht Allgemeine Java-Themen 1
I Wieso funktioniert das nich? Allgemeine Java-Themen 5
Dann07 MP3 Datei abspielen funktioniert nicht Allgemeine Java-Themen 6
O Aus JAR-Datei erstellte EXE-Datei funktioniert nicht Allgemeine Java-Themen 10
A Mp3 Player funktioniert nicht Allgemeine Java-Themen 0
X JNA funktioniert nicht mehr Allgemeine Java-Themen 4
bueseb84 FolderWatcher mit WatchService funktioniert nur bedingt Allgemeine Java-Themen 5
Drachenbauer Division mit Int funktioniert nicht Allgemeine Java-Themen 3
O docx-Datei erzeugung mit DocXStamper funktioniert nicht Allgemeine Java-Themen 2
F Schleife funktioniert nicht richtig Allgemeine Java-Themen 13
T Split() Methode funktioniert nicht?! Allgemeine Java-Themen 11
L Tesseract-OCR 4.0 unter Linux funktioniert nicht Allgemeine Java-Themen 3
J Wie konkret funktioniert das Modulsystem unter Java 11? Allgemeine Java-Themen 4
J Neuronales Netz funktioniert mal und mal nicht. Allgemeine Java-Themen 3
T Umlaute in Eclipse einlesen funktioniert nicht Allgemeine Java-Themen 16
A Methodenaufruf funktioniert nicht richtig Allgemeine Java-Themen 5
C WindowBuilder Design funktioniert nicht Allgemeine Java-Themen 0
J FTPSClient funktioniert nicht Allgemeine Java-Themen 4
H IDEA IntelliJ Java Mail funktioniert nach Export nicht mehr! Allgemeine Java-Themen 1
M Operatoren Warum funktioniert diese überprüfung nicht? Allgemeine Java-Themen 7
R jar-Datei funktioniert nicht Allgemeine Java-Themen 2
E Open Declaration Funktioniert nicht Allgemeine Java-Themen 0
R Verschlüsselung funktioniert nicht Allgemeine Java-Themen 5
RalleYTN requires transitive funktioniert nicht? Allgemeine Java-Themen 7
R Bruteforce hashes mit multithreading. Funktioniert das so? Allgemeine Java-Themen 0
P Best Practice Wieso funktioniert der Modulo - Operator nicht? Allgemeine Java-Themen 2
HarleyDavidson Eigener PropertyChangeListener funktioniert einfach nicht Allgemeine Java-Themen 3
J Exclude funktioniert nicht Allgemeine Java-Themen 2
K .jar funktioniert nicht vollständig Allgemeine Java-Themen 1
P Java https proxy (-Dhttps.proxyHost) Start-Parameter funktioniert nicht? Allgemeine Java-Themen 2
L Auswertung eines Testes funktioniert nicht Allgemeine Java-Themen 37
O Fahrenheit/Celsius Converter funktioniert nicht Allgemeine Java-Themen 2
M Serialisierung funktioniert nicht Allgemeine Java-Themen 9
D Collections.sort funktioniert nicht in exportierten .class Dateien Allgemeine Java-Themen 10
J Arrays auf gleichheit untersuchen funktioniert nicht Allgemeine Java-Themen 11
P GUI: ArrayList anzeigen funktioniert nicht Allgemeine Java-Themen 5
H Timer funktioniert nicht? Allgemeine Java-Themen 3
R javax.comm --> Programm funktioniert nach Export nicht mehr Allgemeine Java-Themen 0
O Mein JButton Array funktioniert nicht Allgemeine Java-Themen 3
R Erste Schritte Object reference funktioniert nicht. Wie mach ichs richtig? Allgemeine Java-Themen 3
J If Abfrage funktioniert nicht Allgemeine Java-Themen 4
R Objekt funktioniert nicht auf iOS Allgemeine Java-Themen 15
U PersistenceManager.createEntityManager funktioniert nicht Allgemeine Java-Themen 3
D Java Datei nach Eclipse Export funktioniert nicht Allgemeine Java-Themen 0
M Eigene forEach()-Methode funktioniert nicht. Allgemeine Java-Themen 2
H File.listFiles() funktioniert nicht... Allgemeine Java-Themen 10
JG12111989 Auswertung von Fragebogen funktioniert nicht! Allgemeine Java-Themen 7
M Primzahlberechnung funktioniert nicht. Allgemeine Java-Themen 4
A JFreeChart funktioniert nicht :( Allgemeine Java-Themen 6
C file.delete() funktioniert bei zweiten aufruf nicht mehr Allgemeine Java-Themen 3
F Datei einlesen funktioniert nicht Allgemeine Java-Themen 3
A Debugger im Java-Editor funktioniert nicht Allgemeine Java-Themen 5
B DB-Zugriff einer Webanwendung funktioniert nicht mit Java 7 Allgemeine Java-Themen 2
B Web-Anwendung funktioniert mit Java 1.8, aber nicht mit Java 1.7 (auf Client) Allgemeine Java-Themen 5
J Swing Cursor.WAIT funktioniert nicht nach JFileChooser Allgemeine Java-Themen 1
P Wie funktioniert das Feedback eines Klicks auf eine Java GUI Allgemeine Java-Themen 10
F JTextField funktioniert nicht Allgemeine Java-Themen 6
Athena Programm funktioniert nur beim Debugging korrekt, sonst nicht. Allgemeine Java-Themen 1
S CSV Eintrag der nächsten Zeile auslesen funktioniert nicht Allgemeine Java-Themen 8
S Command funktioniert in Kommandzeile aber nicht mit ProcessBuilder bzw. Runtime.exec auf MAC Allgemeine Java-Themen 3
G Verschlüsselungsalgorythmus funktioniert nicht Allgemeine Java-Themen 2
buggy84 Ausführen einer Batch mit Parameterübergabe funktioniert nicht richtig Allgemeine Java-Themen 18
G Befehl funktioniert in Eclipse allerdings nicht in einer Jar-Datei Allgemeine Java-Themen 3
N Werte aus Arrays auslesen funktioniert nicht Allgemeine Java-Themen 5
W getResources funktioniert nur in Eclipse, nicht in JAR Allgemeine Java-Themen 2
S Methode funktioniert nicht als ActionListener Allgemeine Java-Themen 4
M exec() funktioniert nicht Allgemeine Java-Themen 1
M RC4-Chiffre (funktioniert eingeschränkt) Allgemeine Java-Themen 6
X Datentypen Dropzone.options funktioniert nicht Allgemeine Java-Themen 1
D Java funktioniert nur mit deaktivierter Grafikkarte Allgemeine Java-Themen 3
L Erste Schritte Eclipse und Lokal funktioniert - in HTML nicht! Allgemeine Java-Themen 2
K MD5 funktioniert nicht korrekt !? Allgemeine Java-Themen 9
M JAR Datei erstellen funktioniert nicht Allgemeine Java-Themen 5
Q JLabel Textausgabe funktioniert nicht Allgemeine Java-Themen 4
E SimpleDateFormat-Konvertierung funktioniert nicht Allgemeine Java-Themen 3
T Dateidownload Funktioniert nicht Allgemeine Java-Themen 4
C Wie funktioniert Projektplanung? Allgemeine Java-Themen 18
K String.replace funktioniert nicht Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben