August 16th, 2007

java.rmi.NoSuchObjectException

Posted by frank in Java

Heute erreichte mich die Exception java.rmi.NoSuchObjectException mit der Meldung “No such object in table”. Diese Meldung habe ich zuerst nicht ganz verstanden, denn der Client hat ja zuvor über Lookup das Objekt erfolgreich geholt. Dennoch trat anschließend bei der Verwendung diese Meldung auf.
Das Problem ist jedoch so einfach wie zugleich auch etwas versteckt. Bei einem Lookup des Clients erfolgt dies auf die RMI-Registry. Diese hält die Stubs bereit und bei einem Lookup erhält der Client Informationen wie er zum eigentlichen Remote-Objekt gelangt. Der Lookup war also kein Problem. Bei der ersten Verwendung des erhaltenen Objektes wird nun eine Verbindung zum RMI-Server aufgebaut und dann das Remote-Objekt verwendet. Dies war jetzt nicht mehr da und damit kam es zu dieser Meldung. Aber warum war es nicht mehr da? Ganz einfach: Der Garbage Collector hatte es aus dem Speicher entfernt.
Die Lösung ist daher, dass die Instanz, die beim Erzeugen des UniCastRemoteObjects verwendet wird, mit gehalten werden muß, damit diese nicht vom GC entfernt wird.

August 15th, 2007

RMI Server im NAT-Netzwerk betreiben

Posted by frank in Java
April 27th, 2007

Bytecode Provider bei Hibernate wechseln

Posted by frank in Java, J2EE, Hibernate
April 17th, 2007

AnnotationFormatError bei Verarbeitung Annotations

Posted by frank in Java, J2EE
April 12th, 2007

verwendete AspectJ-Bibliothek austauschen

Posted by frank in Maven
Januar 2nd, 2007

Caching von Queries

Posted by frank in Standard, J2EE, Hibernate
August 15th, 2006

Informationen über Plugins und deren Parameter

Posted by frank in Maven
August 15th, 2006

OneToMany, ManyToOne und ManyToMany - Parent/Child und die konfigurierbaren Parameter

Posted by frank in Java, J2EE, Hibernate
August 7th, 2006

Maven 2 - Einsatz im Eclipse

Posted by frank in Maven
August 7th, 2006

Maven 2 - Erste Schritte

Posted by frank in Maven
Nächste Seite »