Hi Leute,
ich hab hier ein sehr merkwürdiges Problem, was ich mir überhaupt nicht mehr erklären kann. Ich hab das jetzt schon alles genau debugged und ich verstehe einfach nicht, wo da irgendetwas falsch sein kann.
Es handelt sich bei meinem System um eine Client / Server-Architektur. Zur Übertragung von Daten etc. benutze ich ObjectStreams. Darüber schicke ich dann "Messages". Clients können Anfragen stellen und bekommen dann entsprechende Antworten. Falls sich beim Model des Servers etwas relevantes ändert, schickt der Server an die Betreffenden Clients entsprechende Messages. Die sind natürlich serialisierbar.
So, jetzt mein Mysterium:
Beim Server ändert sich etwas an einer Auktion , diese wird von einem Observer überwacht. Es wird der Observer ausgeführt und schickt dann an alle Clients eine neue Message mit den Informationen zur Auktion. Ich hab das mit dem Debugger bis zu dem Punkt verfolgt, wo die Nachricht wirklich abgeschickt und empfangen wird. Wenn diese Nachricht dann beim Client ankommt, enthält sie aber alte Daten, nämlich die, welche die Auktion hatte wenn sie zum ersten Mal geladen wird. Wenn sich nun ein zweiter Client erst später einloggt, hat dieser die aktuellen Daten der Auktion. Wenn sich diese dann ändern, kommt aber auch nur wieder eine Nachricht mit den Daten an, welche der Client nach seinem einloggen bekommen hat.
Ich kann mir nicht erklären, wo diese alten Daten herkommen sollten. Für mich ist es auch sehr merkwürdig, dass zwei verschiedene Client, welche sich an unterschiedlichen Zeitpunkten eingeloggt haben, also auch unterschiedliche Daten bekommen, dann im weiteren Verlauf wieder dieselben zugeschickt bekommen.
HAE?!?!