Guten Abend Sportsfreunde,
ich habe meine erste große Anwendung geschrieben, ein Kartenspiel mit Objekten wie Lobby, Tisch, Spieler, Kartengruppe usw.
Die Anwendung umfasst wegen den Spielregeln einiges an Code und läuft dennoch performant und ohne große Zwischenfälle.
Ab und zu treten jedoch kleine Fehler auf, die sehr schwer reproduzierbar sind. Da ich nun öfters stundenlang mit mehreren eigenen Testusern in verschiedenen Fenstern bestimmte Blattverläufe nachgespielt habe (auch nicht ganz einfach immer das jeweilige Guthaben, die Karten und Sitzpositionen aus dem Fehlerzeitpunkt zuzuweisen), möchte ich nun folgende Idee umsetzen:
Ich möchte bei bestimmten Spielfehlern und im Minutentakt die jeweilige Lobby (mit ihren Tischen und paar Spielern) serialisieren um dann bei Bedarf lokal bei mir sofort zum Fehlerzustand zu kommen.
Nun bekomme ich beim Schreiben des serialisierten Objekts die Meldung
Wie finde ich heraus ob z.B. der ScheduledThreadPoolExecutor serialisiert werden kann, wenn er im zu serialisierenden Objekt gespeichert ist? Kann man das irgendwo in einer Doku nachsehen?
Und was sagt ihr generell zu meiner Idee? ^^
ich habe meine erste große Anwendung geschrieben, ein Kartenspiel mit Objekten wie Lobby, Tisch, Spieler, Kartengruppe usw.
Die Anwendung umfasst wegen den Spielregeln einiges an Code und läuft dennoch performant und ohne große Zwischenfälle.
Ab und zu treten jedoch kleine Fehler auf, die sehr schwer reproduzierbar sind. Da ich nun öfters stundenlang mit mehreren eigenen Testusern in verschiedenen Fenstern bestimmte Blattverläufe nachgespielt habe (auch nicht ganz einfach immer das jeweilige Guthaben, die Karten und Sitzpositionen aus dem Fehlerzeitpunkt zuzuweisen), möchte ich nun folgende Idee umsetzen:
Ich möchte bei bestimmten Spielfehlern und im Minutentakt die jeweilige Lobby (mit ihren Tischen und paar Spielern) serialisieren um dann bei Bedarf lokal bei mir sofort zum Fehlerzustand zu kommen.
Nun bekomme ich beim Schreiben des serialisierten Objekts die Meldung
Kann gut sein, dass in dem Tisch oder seinem vererbten Objekten irgendwo z.B. ein Thread referenziert wird, der nicht serialisierbar ist, von dem ich vergessen habe ihn als transistent zu setzen. Aber wie finde ich heraus, was da genau fehlt? Die Exception bringt mir ja leider nur den Objektnamen. Muss ich selbst die Klasse Zeile für Zeile durchwühlen?java.io.NotSerializableException: Tisch
Wie finde ich heraus ob z.B. der ScheduledThreadPoolExecutor serialisiert werden kann, wenn er im zu serialisierenden Objekt gespeichert ist? Kann man das irgendwo in einer Doku nachsehen?
Und was sagt ihr generell zu meiner Idee? ^^