TP RMI - Q3.1.2

Conception de logiciels Intranet : patrons et canevas

Moderators: douinj, graffiop

Post Reply
burckh_s
Posts: 20
Joined: 01 Nov 2021 16:13

TP RMI - Q3.1.2

Post by burckh_s » 10 Mar 2022 2:52

Bonjour,

J'ai un peu de mal à comprendre la question 1.2 de la question 3.

C'est dit au redémarrage, tous les messages mémorisées doivent être renvoyées. Dans l'exercice, on ne mémorise pas les messages, ou du moins de manière très fuguasse au sein d'une variable du thread RouterWorkThread, est ce qu'il faut le faire en plus ? Donc tous les messages sont renvoyé une deuxième fois. Est ce qu'on garde tous les messages de toutes les instances successives ou seulement la dernière ?

Ou est ce qu'il faut faire que si une exception est levé et que les messages ne sont pas envoyées ?

douinj
Posts: 462
Joined: 18 Mar 2009 15:46

Re: TP RMI - Q3.1.2

Post by douinj » 13 Mar 2022 13:15

Bonjour,

Donc tous les messages sont renvoyé une deuxième fois
.
Oui, c'est le principe de fonctionnement d'un framework de type JMS, que nous verrons
Est ce qu'on garde tous les messages de toutes les instances successives ou seulement la dernière ?
Tous
Ou est ce qu'il faut faire que si une exception est levé et que les messages ne sont pas envoyées ?
Une exception parait le plus simple, et à l'utilisateur de décider ( il me semble que nous avons vu le patron Retransmission)

Bonne fin de tp

guill_f58
Posts: 68
Joined: 10 Oct 2020 19:42

Re: TP RMI - Q3.1.2

Post by guill_f58 » 15 Mar 2022 22:26

Bonsoir, je bloque sur cette question.
Faut-il utiliser "Activable" par exemple ? si tel est le cas, peut être qu'il manque au moins une classe par exemple?
Bonne soirée

lespri_p
Posts: 13
Joined: 04 Nov 2019 14:59

Re: TP RMI - Q3.1.2

Post by lespri_p » 20 Mar 2022 15:20

Bonjour à tous,

lors du cours, notre enseignant à indiqué que cette question avait à voir avec la sérialisation.
En java, on peut sauvegarder sauvegarder sous forme de fichier toute classe qui hérite d'un classe "serializable", ou qui hérite d'une classe en héritant. Ci-après un site bien fait qui explique comment faire: http://blog.paumard.org/cours/java/chap ... ation.html
Or il se trouve qu'ici l'interface "Channel" hérite de serializable.
J'ai donc personnellement:
- mis en place une sauvegarde des messages envoyés dans classe RecipientListImpl
- mis en place une méthode qui renvoie tous les messages sauvegardés, dans cette même classe
- fait un test lors duquel je sérialise l'objet, puis le désérialise et appelle cette méthode, puis vérifie que tous les messages ont bien été renvoyés à leurs destinataires.

cordialement

douinj
Posts: 462
Joined: 18 Mar 2009 15:46

Re: TP RMI - Q3.1.2

Post by douinj » 21 Mar 2022 10:27

Bonjour

Persister un peu plus que les messages ne serait-il pas une solution ?

Code: Select all

public RecipientListImpl(String name) throws RemoteException{
this.name = name;
try{
ObjectInputStream ois = null;
ois = new ObjectInputStream(new FileInputStream(name+".store.ser"));
store = (Map<InputChannel,Channel[]>)ois.readObject();
à suivre

Post Reply