Vierte Programmieraufgabe

Benutzeravatar
Fl4sh
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 138
Registriert: 1. Okt 2007 21:48

Re: Vierte Programmieraufgabe

Beitrag von Fl4sh » 11. Jan 2010 03:04

Ahh, ich Idiot... ;) Danke! :)

(Hoffentlich) Letzte Frage: Sollen die States und Recordings an den Initiator per Unicast oder Multicast geschickt werden?

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

Re: Vierte Programmieraufgabe

Beitrag von RomanMertyn » 11. Jan 2010 03:07

Fl4sh hat geschrieben:Ahh, ich Idiot... ;) Danke! :)
Nicht so streng mit sich sein.
Fl4sh hat geschrieben: (Hoffentlich) Letzte Frage: Sollen die States und Recordings an den Initiator per Unicast oder Multicast geschickt werden?
Hmm...... Wie viele Knoten sind eigentlich an der Informationen interessiert?
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

Xaero
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 173
Registriert: 8. Feb 2006 20:06

Re: Vierte Programmieraufgabe

Beitrag von Xaero » 11. Jan 2010 09:21

Hallo ich habe ein Frage:
Ich habe eine Klasse TypedMessage geschrieben, die von org.jgroups.Message erbt.
Jetzt wenn ich diese TypedMessage über channel.send(m) verschicke und beim Empfänger bei receive(...) wieder auf TypedMessage casten möchte, gibt es immer einen Fehler.
java.lang.ClassCastException: org.jgroups.Message cannot be cast to message.TypedMessage
Wisst ihr woran das liegt?

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

Re: Vierte Programmieraufgabe

Beitrag von Tigger » 11. Jan 2010 11:06

Also ich habe einfach die ganz normalen Messages verwendet. Da kannst du belibige Objekte reinstecken und wieder zurückcasten. Hat bei mir Problemlos funktioniert.

Benutzeravatar
MisterD123
Geek
Geek
Beiträge: 811
Registriert: 31. Okt 2006 20:04
Wohnort: Weiterstadt

Re: Vierte Programmieraufgabe

Beitrag von MisterD123 » 12. Jan 2010 00:28

Xaero du versendest eine TypedMessage, die wird von JGroups gefressen, in ihre bestandteile zerlegt, verteilt, und auf der anderen seite wieder neu zusammengesetzt vermute ich - ist also auf der anderen seite dann eine neue Message, nicht deine abgeschickte message rekonstruiert, und somit eine echte Message und keine TypedMessage. Folglich ist auch kein Cast mögich.

Umgehung: Erstell dir ein Event-Interface dessen Implementoren das machen, wass deine TypedMessages grade machen, und caste das Object das jede Message mit sich liefert dann immer auf Event. Das funktioniert.

Xaero
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 173
Registriert: 8. Feb 2006 20:06

Re: Vierte Programmieraufgabe

Beitrag von Xaero » 12. Jan 2010 17:26

Ich habe ein Frage:
Sind die Channels bei euch auch immer leer, wenn ihr einen Snapshot macht?
Also keine weiteren Nachrichten fließen, außer den Marker-Msgs?

Benutzeravatar
MisterD123
Geek
Geek
Beiträge: 811
Registriert: 31. Okt 2006 20:04
Wohnort: Weiterstadt

Re: Vierte Programmieraufgabe

Beitrag von MisterD123 » 12. Jan 2010 18:02

oft, aber nicht immer. die channels von dem iniziierenden prozess aus sind immer leer, in den anderen ist manchmal etwas drin - du musst halt schauen, dass deine prozesse ein gutes stück schneller arbeiten als jgroups die nachrichten ausliefert.

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

Re: Vierte Programmieraufgabe

Beitrag von RomanMertyn » 14. Jan 2010 01:28

Eine(!) mögliche Lösung des Zustellungsproblem:
1. "FLUSH" Protokolschicht zum Stack hinzufügen
2. Channels nach dem senden von Multicast(!)-Nachrichten flushen.
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

Benutzeravatar
MisterD123
Geek
Geek
Beiträge: 811
Registriert: 31. Okt 2006 20:04
Wohnort: Weiterstadt

Re: Vierte Programmieraufgabe

Beitrag von MisterD123 » 14. Jan 2010 13:33

Das hatte ich auch schon einmal ausprobiert mit der udp-flush.xml als konfiguration.. bei mir hats nicht funktioniert, teilweise warf der flush exceptions und die nachrichten haben sich dann trotzdem überholt. allerdings hab ich mich auch nicht wirklich intensiv damit beschäftigt, nur so als spielerei mal und es hat auf anhieb nicht so gut ausgesehen als dass ichs weiter versucht hätte.

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

Re: Vierte Programmieraufgabe

Beitrag von RomanMertyn » 14. Jan 2010 16:52

Gerade erste Lösung mit dem Flush getestet. Funktioniert perfekt.

Die Lösungen mit B-Multicast werden jedoch auch akzeptiert und mit voller Punktzahl bewertet, vorausgesetzt natürlich, dass die restliche Anforderungen alle erfühlt sind.
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

Antworten

Zurück zu „Archiv“