# Objekt über Object-Stream, empfange "alte" Daten



## mabuhay (28. Okt 2010)

Hallo

Also ich hab ne Frage. Habe das Problem zwar gelöst, aber nimmt mich dennoch wunder.

Ich habe ein Objekt welches ich über einen Object-Stream versende. Hier ist das Objekt:

```
public class ImageListTransferObject implements Serializable {
	private static final long serialVersionUID = 1439908645197571680L;
	public Vector<String> imageList = null;
	
	public ImageListTransferObject(Vector<String> imageList) {
		this.imageList = imageList;
		
	}
}
```

Beim senden wird nun ein neues Objekt erstellt und versendet:

```
send(new ImageListTransferObject(imageListVector));
```

Zum imageListVector kommt jetzt ein neues Element hinzu, und ich rufe die send-Methode nochmals auf um die neue Liste zu versenden.

Nun das Problem:
Beim Empfänger kommt aber immer nur die imageList an, welche ich beim ersten aufrufen der send-Methode hatte. Teste ich die imageList im Konstruktur des Objekt ist sie verändert, also alles korrekt. Ankommen tut aber die "alte". Füge ich dem Objekt zum Beispiel noch einen Timestamp hinzu (System.currentTimeMillis) wird der Timestamp korrekt übertragen, der Vektor imageList ist aber immer noch der alte.

rufe ich die send-Methode jedoch so auf:

```
send(new ImageListTransferObject(new Vector<String>(imageListVector)));
```
dann funktionierts und ich empfange den Vektor mit dem neuen Element.

Kann mir jemand beantworten wieso das so ist? Läuft da was beim Senden oder Empfangen schief oder hat es was damit zu tun dass sozusagen immer der gleiche Vektor versendet wird und somit irgendwie die Übertragung optimiert wird?

mfg


----------



## XHelp (28. Okt 2010)

Ich glaube du müsstest noch 
	
	
	
	





```
objectOutputStream.reset()
```
 aufrufen. Dann setzt auch sein Status zurück und denkt, dass er noch nie ein Objekt übertragen hat und ließt die beim Senden neu ein.


----------



## mabuhay (29. Okt 2010)

Vielen Dank, das wars


----------

