P6: Voyager Mobility Exceptions

kde
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 123
Registriert: 19. Dez 2006 10:29
Kontaktdaten:

P6: Voyager Mobility Exceptions

Beitrag von kde »

Hi,
ich bekomme bei Voyager die Mobility-Funktionalität nicht hin.
Es gibt immer Exceptions beim Aufruf von moveTo():
java.lang.ClassCastException: [B cannot be cast to com.recursionsw.ve.orb.Guid
und dann (vermutlich als Konsequenz) ObjectNotFoundExceptions.

Die Probleme habe ich sowohl in meinem eigenen Code, als auch in den Voyager-Beispielen in examples.mobility.Mobility1 und Mobility2 (in RSI/VoyagerDeveloperCommunity/examples/java/se-cdc/java/examples).
Ohne den Quellcode von Voyager lässt sich der Fehler leider kaum finden.

Hat das irgendjemand schon ausprobiert?
Tutor in SE: Design (& Construction) SS 2011

baerchen
Computerversteher
Computerversteher
Beiträge: 382
Registriert: 24. Okt 2006 15:42

Re: P6: Voyager Mobility Exceptions

Beitrag von baerchen »

Gleiches Problem mit:
Windows XP und Ubuntu
Voyager 8.0.0.0-community
Java 1.6.0_15

Ich vermute mal die neue, auch nicht vollständig dokumentierte Version von Voyager.

Gibt es im Notfall vielleicht noch eine ältere Version, die noch wie gewollt funktioniert?
We can do this the hard way or my way ...which is basically the same thing!

Jan R.
Windoof-User
Windoof-User
Beiträge: 29
Registriert: 5. Okt 2007 09:51
Kontaktdaten:

Re: P6: Voyager Mobility Exceptions

Beitrag von Jan R. »

Hey, das Problem habe ich genau so auch... Bei mir mit XP, der vorgegebenen Voyager-Version und Java 1.6.0_16.

Benutzeravatar
dEeP-fRiEd
Kernelcompilierer
Kernelcompilierer
Beiträge: 432
Registriert: 19. Okt 2005 00:58
Wohnort: Darmstadt
Kontaktdaten:

Re: P6: Voyager Mobility Exceptions

Beitrag von dEeP-fRiEd »

Wir haben ein anderes Problem:

Die Implementierung in der ve-core.jar Datei weicht von der Dokumentation ab. So gibt es in der Factory beispielsweise KEINE statische "create" Methode. Stattdessen muss der Constructor mit einem "Invoker" Objekt aufgerufen werden. Ebenso hat der Namespace keine statische Lookup Methode :shock:

Wenn wir dann einfach mal auf der Console einen Voyager Server mit "voyager.bat //localhost:1337" starten und anschließend aus dem Java Programm Projekte wie folgt darauf ablegen wollen, SCHEINT alles zu funktionieren:

Code: Alles auswählen

Voyager.startup();

HelloWorld hw = (HelloWorld) Proxy.of(new HelloGuy());
IMobility im = Mobility.of(hw);
im.moveTo("//localhost:1337");

System.out.println("The other says: "+hw.sayHello("Jack"));

Allerdings wird die "sayHello" Methode NICHT auf dem vorher gestarteten Server ausgeführt. (Das sehe ich daran, dass der "HelloGuy" ein System.out ausführt, dass auf der falschen Konsole auftaucht und daran, dass das Programm auch dann Fehlerfrei läuft, wenn der Server vorher NICHT gestartet wurde!)


Das gleiche Phänomen tritt auch auf, wenn man die Factory benutzt:

Code: Alles auswählen

Voyager.startup();
		
Factory factory = new Factory(new Invoker());
HelloWorld hw = (HelloWorld) factory.create(HelloGuy.class.getName(),"jake");
IMobility im = Mobility.of(hw);
im.moveTo("//localhost:1337");

System.out.println("The other says: "+hw.sayHello("Jack"));

Das kann ja nicht der Sinn der Sache sein!? (Also dass die "mobilen" Objekte, dann doch alle im Hauptprozess laufen...)
NOSCE TE IPSUM
visit: http://www.flicknetwork.net.tc

kde
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 123
Registriert: 19. Dez 2006 10:29
Kontaktdaten:

Re: P6: Voyager Mobility Exceptions

Beitrag von kde »

Die Factory und den Namespace kann man über Voyager.acquireClientContext().getFactory bzw. getNamespace() erlangen.
Das steht allerdings auch in der aktualisierten Doku im Installationsordner.

Code: Alles auswählen

im.moveTo("//localhost:1337");
ist vermutlich auch nur ein veralteter Methodenaufruf.
Hier wird die moveTo(Object o)-Methode aufgerufen, wobei laut Doku das Argument ein Proxy sein soll.
Ein String ist natürlich kein Proxy, daher wird das gar nicht erst verschoben.
Tutor in SE: Design (& Construction) SS 2011

Benutzeravatar
dEeP-fRiEd
Kernelcompilierer
Kernelcompilierer
Beiträge: 432
Registriert: 19. Okt 2005 00:58
Wohnort: Darmstadt
Kontaktdaten:

Re: P6: Voyager Mobility Exceptions

Beitrag von dEeP-fRiEd »

kde hat geschrieben:Die Factory und den Namespace kann man über Voyager.acquireClientContext().getFactory bzw. getNamespace() erlangen.
Das steht allerdings auch in der aktualisierten Doku im Installationsordner.

Code: Alles auswählen

im.moveTo("//localhost:1337");
ist vermutlich auch nur ein veralteter Methodenaufruf.
Hier wird die moveTo(Object o)-Methode aufgerufen, wobei laut Doku das Argument ein Proxy sein soll.
Ein String ist natürlich kein Proxy, daher wird das gar nicht erst verschoben.

Vielen Dank, jetzt kriegen wir auch die ClassCastExcepion :idea: :roll:

BTW: Wie hätte man denn erkennen können. dass "VoyagerCoreDeveloperGuide.pdf" die "aktualisierte" Doku von "VECoreDeveloperGuide.pdf" ist...
NOSCE TE IPSUM
visit: http://www.flicknetwork.net.tc

baerchen
Computerversteher
Computerversteher
Beiträge: 382
Registriert: 24. Okt 2006 15:42

Re: P6: Voyager Mobility Exceptions

Beitrag von baerchen »

dEeP-fRiEd hat geschrieben:BTW: Wie hätte man denn erkennen können. dass "VoyagerCoreDeveloperGuide.pdf" die "aktualisierte" Doku von "VECoreDeveloperGuide.pdf" ist...
Intuition :D

Ich denke dass diese ganzen Probleme damit zu tun haben, dass in unserer Version vieles geändert wurde und sowohl in der Doku als auch im Code schlichtweg ein paar passende Veränderungen vergessen wurden
We can do this the hard way or my way ...which is basically the same thing!

baerchen
Computerversteher
Computerversteher
Beiträge: 382
Registriert: 24. Okt 2006 15:42

Re: P6: Voyager Mobility Exceptions

Beitrag von baerchen »

Ich habe mit einer alten Voyager 6.0.1-Version aus dem Netz mal immerhin Objekte vom Erzeuger zu einem anderen Node verschoben. Beim Versuch, das Objekt zurückzuverschieben gabs eine NullPointerException.


An die Veranstalter: Es ist unter den derzeitigen Umständen nicht möglich, die Aufgabe sinnvoll zu bearbeiten. Deswegen wären wir froh wenn wir entweder eine funktionierende Voyager-Version bekommen oder die Aufgabenstellung so angepasst wird, dass sie auch ohne Verschieben von Objekten lösbar ist
We can do this the hard way or my way ...which is basically the same thing!

Benutzeravatar
Tigger
Kernelcompilierer
Kernelcompilierer
Beiträge: 404
Registriert: 26. Okt 2007 17:35
Wohnort: Hofheim
Kontaktdaten:

Re: P6: Voyager Mobility Exceptions

Beitrag von Tigger »

baerchen hat geschrieben:Ich habe mit einer alten Voyager 6.0.1-Version aus dem Netz mal immerhin Objekte vom Erzeuger zu einem anderen Node verschoben. Beim Versuch, das Objekt zurückzuverschieben gabs eine NullPointerException.

Da bist du schonmal weiter als wir ;)
Kannst du bitte mal linken, wo man die 6er version laden kann? THX

RomanMertyn
Mausschubser
Mausschubser
Beiträge: 71
Registriert: 7. Jun 2006 18:47
Wohnort: Darmstadt
Kontaktdaten:

Re: P6: Voyager Mobility Exceptions

Beitrag von RomanMertyn »

Ich habe nach der Sprechstunde heute noch mal mit dem Erwin gesprochen. Die Veranstalter sind also informiert.
Die 6-er Version von Voyager würde mich auch interessieren. Bitte schicke mir eine EMail mit dem link. Ich werde es, auf meinem oder auf Fachbereichseigenem Server zu Verfügung stellen. Oder es gibt ein offizieller Statement hier und in der Übung am Donnerstag.
There are two ways of constructing a software design: One way is to make it so simple there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.
C.A.R. Hoare

RomanMertyn
Mausschubser
Mausschubser
Beiträge: 71
Registriert: 7. Jun 2006 18:47
Wohnort: Darmstadt
Kontaktdaten:

Re: P6: Voyager Mobility Exceptions

Beitrag von RomanMertyn »

baerchen hat geschrieben:Ich habe mit einer alten Voyager 6.0.1-Version aus dem Netz mal immerhin Objekte vom Erzeuger zu einem anderen Node verschoben. Beim Versuch, das Objekt zurückzuverschieben gabs eine NullPointerException.


An die Veranstalter: Es ist unter den derzeitigen Umständen nicht möglich, die Aufgabe sinnvoll zu bearbeiten. Deswegen wären wir froh wenn wir entweder eine funktionierende Voyager-Version bekommen oder die Aufgabenstellung so angepasst wird, dass sie auch ohne Verschieben von Objekten lösbar ist
Ich habe inzwischen die 6.0.1 Version gefunden. ABER es verlangt nach höchstens JAVA 1.5. Welche Java Version benutzt du?
There are two ways of constructing a software design: One way is to make it so simple there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.
C.A.R. Hoare

baerchen
Computerversteher
Computerversteher
Beiträge: 382
Registriert: 24. Okt 2006 15:42

Re: P6: Voyager Mobility Exceptions

Beitrag von baerchen »

Ich habe es ursprünglich von:

http://download.cnet.com/Voyager-Edge-C ... 15426.html

Das ist die Windows-Version, Linux-Version habe ich keine gefunden

Die Version läuft aber aus Lizenzgründen nicht mehr wenn das Systemdatum neuer als 2007 ist. Man muss also theoretisch jedes mal die systemuhr umstellen um mit der Software zu arbeiten.

Bei mir habe ich die Lizenzüberprüfung deswegen gleich ganz entfernt, weiß aber nicht ob ich "gecrackte" kommerzielle Software hier im Forum posten sollte...
We can do this the hard way or my way ...which is basically the same thing!

RomanMertyn
Mausschubser
Mausschubser
Beiträge: 71
Registriert: 7. Jun 2006 18:47
Wohnort: Darmstadt
Kontaktdaten:

Re: P6: Voyager Mobility Exceptions

Beitrag von RomanMertyn »

baerchen hat geschrieben:
Die Version läuft aber aus Lizenzgründen nicht mehr wenn das Systemdatum neuer als 2007 ist. Man muss also theoretisch jedes mal die systemuhr umstellen um mit der Software zu arbeiten.
Nice!!!

Nö auf keinem Fall!!!
There are two ways of constructing a software design: One way is to make it so simple there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.
C.A.R. Hoare

kde
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 123
Registriert: 19. Dez 2006 10:29
Kontaktdaten:

Re: P6: Voyager Mobility Exceptions

Beitrag von kde »

Ich habe die Version 6.0.1 eben ausprobiert.
Mobility funktioniert bei mir, wenn man sich an den alten Stil hält [also z.b. mobility.moveTo("//localhost:8000")].
Es reicht die beiliegende ve-core.jar in Eclipse zu linken.

Dass die Version abgelaufen ist, sollte keinen Informatiker an der Benutzung hindern können ;-)
Tutor in SE: Design (& Construction) SS 2011

Leaf
Neuling
Neuling
Beiträge: 1
Registriert: 24. Sep 2009 12:53

Re: P6: Voyager Mobility Exceptions

Beitrag von Leaf »

Habe das selbe Problem mit der ClassCastException.

Ich finde das Ganze sehr ärgerlich, da ich vorhatte mit der Aufgabe frühstmöglich fertig zu werden (am Semesterende stehen wie üblich auch noch viele andere Dinge an).

Wäre es möglich, dass es zu der Problematik noch heute ein offizielles Statement gibt?

Antworten

Zurück zu „Archiv“