RMI - Objekt als Rückgabeparameter

Status
Nicht offen für weitere Antworten.
P

PeiWei

Gast
Hallo,

momentan hänge ich bei meiner RMI-Anwendung fest.
Die Situation ist folgende: ich habe einen Client und einen Server, wobei der Server folgende Klasse bereitstellt:

Code:
public class RmiDBImpl implements RmiDB
{
    public ArrayList<ProfileInfo> getEntries()
    {
	ProfileInfo testProfile = new ProfileInfo();
	testProfile.id = 1;
	testProfile.firstname = "Vorname";
	testProfile.name = "Nachname";
	    
	ArrayList<ProfileInfo> a = new ArrayList<ProfileInfo>();
	a.add( testProfile );
	System.out.println( a.get(0).id + ", " + a.get(0).firstname + ", " + a.get(0).name );
	return a;
    }
}

Die Daten aus der Liste werden vom Server korrekt ausgeschrieben und damit auch zurückgegeben.
Das Klasse "ProfileInfo" ist sowohl auf dem Client, als auch auf den Server vorhanden und sieht so aus:

Code:
public class ProfileInfo implements Serializable
{
    static int id;
    static String firstname;
    static String name;
}


Mein Client greift auf die Funktion getEntries() zu, das funktioniert soweit.
Das Problem dabei: die Attribute verlieren ihren Wert, es wird "0, null, null" ausgeschrieben :cry: :

Code:
    ArrayList<ProfileInfo> myList = myDB.getEntries();
    System.out.println( myList.get(0).id + ", " + myList.get(0).firstname + ", " + myList.get(0).name );

Was hab ich falsch gemacht bzw. wo liegt das Problem?
Brauche da echt mal ein bisschen Hilfe, wär cool, wenn jemand eine Idee hat! :oops:
 
G

Guest

Gast
Mach' das static raus. Static und transient wird nicht serialisiert. Wo du gerade dabei bist,
füge noch serialVersionUID in die Klasse ProfileInfo ein.

z.B.
Code:
public class ProfileInfo implements Serializable
{
   private static final long serialVersionUID = 4200743547199726719L;

   private int id; 
   private String firstname; 
   private String name;

   ... Getter und Setter
}
 
G

Guest

Gast
oder von mir aus
Code:
public class ProfileInfo implements Serializable 
{ 
   private static final long serialVersionUID = 4200743547199726719L; 

   public int id; 
   public String firstname; 
   public String name; 

}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Objekt mit RSA und AES verschlüsseln und entschlüsseln HILFE Netzwerkprogrammierung 4
OnDemand Json Objekt leeres Array beim lesen Netzwerkprogrammierung 9
I Socket ObjectOutputStream-Socket: Objekt wird falsch übertragen Netzwerkprogrammierung 2
L Java RMI Objekt konsistenz Netzwerkprogrammierung 1
P RMI - Neue eigene Instanz für jeden Aufruf auf nicht serialisierbares Objekt - wie? Netzwerkprogrammierung 0
R RMI und Entferntes Objekt (EO) Netzwerkprogrammierung 0
A Server Antwort enthält JSON Objekt/Array Netzwerkprogrammierung 8
N Selbes URL Objekt für alle Requests nutzen Netzwerkprogrammierung 7
B udp erkennen um welches objekt es sich handelt / max size Netzwerkprogrammierung 5
S Socket Client liest leeres Objekt Netzwerkprogrammierung 10
D Remote-Objekt-Server : Alternative Methodenaufruflogik zu Reflection und hart codiert Netzwerkprogrammierung 5
K RMI Angemeldetes Objekt nicht aktuell? Netzwerkprogrammierung 9
D [CORBA] Eigenes Objekt in idl? undefined type Netzwerkprogrammierung 5
M Objekt über Object-Stream, empfange "alte" Daten Netzwerkprogrammierung 2
M Objekt über socket senden/empfangen Netzwerkprogrammierung 3
H Objekt von JSP an Servlet übergeben Netzwerkprogrammierung 4
T Wieso ist mein Objekt leer? Netzwerkprogrammierung 6
L RMI-Objekt zwischen zwei RMI-Servern kopieren Netzwerkprogrammierung 2
S Objekt Felder versenden Netzwerkprogrammierung 5
W Objekt über Socket übertragen Netzwerkprogrammierung 14
G Problem bei Objekt senden von server zu client Netzwerkprogrammierung 6
M RMI - Ein Objekt für Alle? Netzwerkprogrammierung 5
H Versenden von Objekt Netzwerkprogrammierung 2
J Prblem, wenn im verschickten Objekt ein Array ist Netzwerkprogrammierung 4

Ähnliche Java Themen


Oben