Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1594 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  RMI

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

RMI

n°451477
pifou_234
Posté le 08-07-2003 à 18:35:43  profilanswer
 

salut à tous,
 
petite kestion pour le gens qui s'y connaissent en rmi.
 
je dois  faire une application qui est en meme temps serveur rmi et  ki fait des appels RMI sur d'autres site.
le site 1 fait un appel au site 2, le site fait un appel au site 3. comment faire pour  que le site 2 libère le site 1 car celui ci devra répondre a d'autres appels d'autres sites...
 
merci pour  votre aide et A+

mood
Publicité
Posté le 08-07-2003 à 18:35:43  profilanswer
 

n°451480
Cherrytree
cn=?
Posté le 08-07-2003 à 18:37:18  profilanswer
 

Qu'entends par "libère" ?


---------------
Le site de ma maman
n°451490
darklord
You're welcome
Posté le 08-07-2003 à 18:44:15  profilanswer
 

Cherrytree a écrit :

Qu'entends par "libère" ?


 
probablement pour que l'appel ne soit pas synchrone. Tu peux implémenter une file d'attente tout simple sur la forme d'une list quelconque. Ton appel de méthode RMI n'a pour but que d'ajouter une demande d'appel sur le site 2 (ensuite la méthode retourne et ton site 1 est libéré). A coté de ca, dans ton serveur 2 tu as une thread qui regarde périodiquement si il y a des demandes dans la file d'attente. Si oui elle les traite (et peut ainsi faire une demnande sur un serveur 3 qui peut avoir le meme mécanisme). Ta demande peut se faire via un objet relativement simple. Mais fait bien attention à bien spécifier toutes les infos dont tu as besoin (qui a fait la demande, comment répondre, etc)
 
Si c'est pas clair n'hésite pas


---------------
Just because you feel good does not make you right
n°451491
pifou_234
Posté le 08-07-2003 à 18:44:25  profilanswer
 

je m'explique..
j'ai  3 site.
les 3 site se font des appels en "anneau".
1. site1 fait appel1 sur site 2
2. site2 fait appel1 sur site 3
3. site3 fait appel1 sur site 1
à ce moment j'ai un problème car mon site 1 qui devrait faire appel2 à site 2 ne fait plus rien. il est donc bloqué je suppose par le l'appel1 qu'il a fait au site2.
 
pour résumé ma kestion pourrait  etre :  
site1 fait appel1 sur site2. comment je sais  que site1 a eu le retour de sa fonction et peut ainsi continuer  son exécution (pour attendre d'autre appels)
est-ce plus clair ?

n°451493
darklord
You're welcome
Posté le 08-07-2003 à 18:45:05  profilanswer
 

j'avais bien compris :sol:


---------------
Just because you feel good does not make you right
n°451503
pifou_234
Posté le 08-07-2003 à 18:53:21  profilanswer
 

darklord :  
tu veut dire que dans  chacunes de mes méthodes RMI je fais un traitement minimal (ajouter une requete de ce type en attente). ainsi le site n libère très vite le site n-1.
puis le site n peut faire son traitement et appeler des méthodes du site n+1 et le site  n-1 peut recevoir des appels.
 
je dois aussi préciser que tout mes sites sont identiques, il s'agit de l'implémentations d'un algorithme d'élection en anneaux.

n°451507
darklord
You're welcome
Posté le 08-07-2003 à 19:06:15  profilanswer
 

pifou_234 a écrit :

darklord :  
tu veut dire que dans  chacunes de mes méthodes RMI je fais un traitement minimal (ajouter une requete de ce type en attente). ainsi le site n libère très vite le site n-1.
puis le site n peut faire son traitement et appeler des méthodes du site n+1 et le site  n-1 peut recevoir des appels.
 
je dois aussi préciser que tout mes sites sont identiques, il s'agit de l'implémentations d'un algorithme d'élection en anneaux.


 
oui c'est ce que je veux dire. Tu peux meme introduire la notion de priorité si tu veux en faisant des classes de requete et en implémentant un scheduleur simple (comme Weigthed Round Robin par exemple)


---------------
Just because you feel good does not make you right
n°451523
benou
Posté le 08-07-2003 à 19:41:03  profilanswer
 

:heink: attend, y a du call-back en RMI !!!


---------------
ma vie, mon oeuvre - HomePlayer
n°451593
darklord
You're welcome
Posté le 08-07-2003 à 21:12:14  profilanswer
 

benou a écrit :

:heink: attend, y a du call-back en RMI !!!  


 
 
bin je sais et alors :o
 
Edit: explique où tu veux en venir stp :o


Message édité par darklord le 08-07-2003 à 21:13:16

---------------
Just because you feel good does not make you right
n°451604
pifou_234
Posté le 08-07-2003 à 21:21:47  profilanswer
 

y'a du call back oui..
mais si un appel a site 1 engendre un appel à site 2 qui engendre un appel à site 3 qui engendre un appel à site 1, ben le site un restera en attente du retour de son appel si comme dans mon cas les méthodes sont synchronized

mood
Publicité
Posté le 08-07-2003 à 21:21:47  profilanswer
 

n°451608
benou
Posté le 08-07-2003 à 21:30:47  profilanswer
 

pifou_234 a écrit :

dans mon cas les méthodes sont synchronized


ca mieux en le disant :o  
je peux pas deviner :/


---------------
ma vie, mon oeuvre - HomePlayer
n°451609
benou
Posté le 08-07-2003 à 21:31:19  profilanswer
 

DarkLord a écrit :


Edit: explique où tu veux en venir stp :o


ben là : que si elles avaient pas été synchronizées, y aurait pas eu de problème ...


---------------
ma vie, mon oeuvre - HomePlayer
n°451622
pifou_234
Posté le 08-07-2003 à 21:56:11  profilanswer
 

benou a écrit :


ca mieux en le disant :o  
je peux pas deviner :/


excuse moi... c'est vrai que c'est un détail important

n°451632
benou
Posté le 08-07-2003 à 22:06:19  profilanswer
 

pifou_234 a écrit :


excuse moi... c'est vrai que c'est un détail important


bha c'est pas grave, mais du coup faut que tu passes par la méthode de dark :/


---------------
ma vie, mon oeuvre - HomePlayer
n°452062
Kahyman
Posté le 09-07-2003 à 13:16:35  profilanswer
 

Question bete...
 
Pourquoi synchroniser si tu veux traiter d'autres requetes (les forcer meme) ?  
 
Ca me semble scabreux ton truc et ca sent le probleme de conception a plein nez (a moins que tu ne justifie la chose, mais intuitivement je dirais qu'il y a un probleme)
 
 :hello:

n°452071
Kahyman
Posté le 09-07-2003 à 13:30:47  profilanswer
 

Utilise un vrai anneau :
 
node1 -> node2 -> node3 -> node4 -> node1
 
Si node1 veux envoyer un msg a node3 il passe par node2, et recoit la reponse par node4.  
 
Chaque message sur l'anneau est associe a un tag T1 avec une valeur numerique cree a l'envoi du message ainsi que l'id du noeud.
 
Le noeud faisant l'appel de methode (message) map ce tag T1 a un tag identique local T1' (meme valeur) sur lequel le thread de la methode appelante wait lors de l'envoi du message.
 
Chaque noeud, lorsqu'il recoit un message verifie si le message lui est destine.  
 
Si oui soit c'est un appel de methode. Si le noeud est le noeud destinataire l'appel est execute, puis le tag T1 est modifie pour le transformer en ACK puis est transfere dans le message de retour et renvoye sur l'anneau au noeud suivant.
 
Soit c'est un message de retour. Dans ce cas, le tag est extrait le systeme retrouve le tag local dans la map (via sa vlaeur numerique) et fait un notify.
 
etc... je te laisse peaufiner l'anneau ;)
 

n°452073
Kahyman
Posté le 09-07-2003 à 13:36:54  profilanswer
 


 
Note : pour avoir des appels asynchrones, soit tu crees ta propre classe de connection (ca fait 2 ans que je n'ai plus jete un oeil a RMI) soit tu fais les appels au noeud suivant dans un nouveau Thread et tu fais en sorte que tes methodes soient toutes void.
 
Enfin bref : RMI ne me semble pas du tout adapte a ce genre d'utilisation  :whistle:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  RMI

 

Sujets relatifs
[résolu]Code RMI qui foire : lancement registry[Java][RMI] RMISecurityManager
[Java][RMI] Connection refused to hostRMI + socket
problème avec RMI en java: HELP!RMI java en C/C++ ?
[JAVA] RMI impossible d'accès sur une autre machine[Java-RMI-Oracle] Passer un objet OracleDataSource
[Java ] - RMI et les MAJ d'objets[JAVA][RMI] erreur bizarre avec un serveur rmi
Plus de sujets relatifs à : RMI


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR