OVH Cloud OVH Cloud

RMI et les objets activable à distance

1 réponse
Avatar
Albert Kunzunsky
Bonjour,

Voilà, j'ai crée une classe listePersonne qui ne contient qu'un Vector
d'objets personne, et qui bien sur doit être accessible à distance.

Pour la classe listePersonne j'ai utilisé la méthode RMI standard
d'enregistrement dans la registry au lancement du programme.
Comme il doit être possible de créer une nouvelle personne au niveau du
client, j'ai opté pour la méthode activation des objets personnes à
distance.

Donc dans la classe listePersonne, j'ai crée une methode createPersonne()

ActivationGroupDesc gdesc = new ActivationGroupDesc(null, null);
ActivationGroupID gid = new
ActivationGroupID.getSystem().registerGroup(gdesc);
ActivationGroup.createGroup(gid, gdesc, 0);

personne p = new personne(nomServeur, codebase, 0);

LocateRegistry.getRegistry.rebind(nomServeur, p);

Mais lorsque je vex créer une nouvelle personne il me lève l'exception:

java.rmi.ActivationException: unabled to obtain ActivationSystem
java.rmi.ConnectException: Connection refused to host: ....

Si vous pouvez m'aider.... Merci d'avance

1 réponse

Avatar
jerome moliere
Albert Kunzunsky wrote:
Bonjour,

bonjour,

je pense qu'un seul post suffisait...
Voilà, j'ai crée une classe listePersonne qui ne contient qu'un Vector
d'objets personne, et qui bien sur doit être accessible à distance.

Pour la classe listePersonne j'ai utilisé la méthode RMI standard
d'enregistrement dans la registry au lancement du programme.
Comme il doit être possible de créer une nouvelle personne au niveau du
client, j'ai opté pour la méthode activation des objets personnes à
distance.

Donc dans la classe listePersonne, j'ai crée une methode createPersonne()

ActivationGroupDesc gdesc = new ActivationGroupDesc(null, null);
ActivationGroupID gid = new
ActivationGroupID.getSystem().registerGroup(gdesc);
ActivationGroup.createGroup(gid, gdesc, 0);

personne p = new personne(nomServeur, codebase, 0);

LocateRegistry.getRegistry.rebind(nomServeur, p);

Mais lorsque je vex créer une nouvelle personne il me lève l'exception:

java.rmi.ActivationException: unabled to obtain ActivationSystem
java.rmi.ConnectException: Connection refused to host: ....

tu peuxnous en dire plus sur tes tests ?


fais sur une meme machine ou sur plusieurs ?
avec forewalls ou pas ?
telnet <machine_serveur> 1099 dit quoi ?
t'as bien lance le programme rmiregistry ?
Si vous pouvez m'aider.... Merci d'avance





--
Auteur cahier du programmeur Java tome 2 - Eyrolles 10/2003
http://www.eyrolles.com/php.informatique/Ouvrages/ouvrage.php3?ouv_ean13—82212111941