Commande .bat RMI

Conception de logiciels Intranet : patrons et canevas

Moderators: douinj, graffiop

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

Commande .bat RMI

Post by guill_f58 » 19 Mar 2022 20:38

Bonsoir, j'essaie de mieux comprendre l'écriture des commandes dans les fichiers .bat, chose que j'avais un petit peu vu de loin.
Par exemple, j'essaie de créer un et un seul bat depuis mon bureau mais je n'y arrive pas.
Avant de continuer, j'aimerais une clarification.
Cette commande lance l'annuaire et précise que celui-ci fonctionnera avec des URL

Code: Select all

start rmiregistry -J-Djava.rmi.server.useCodeBaseOnly=false
On exécute notre serveur web qui gère les URL de l'annuaire et les requêtes

Code: Select all

start java -cp . ServeurWeb8086
A partir de là, cela se complique un peu.
je suis dans le dossier serveursRMI donc je 1 retour.
Je fournis le jar ?

Code: Select all

start java -cp ../interfacesRMI.jar;.
ensuite il y a un "." donc je suis dans le jar ou dans mon dossier serveursRMI ?
Quand j'écris "http://localhost:8086/interfacesRMI.jar", comment sait-il que je parlais du "../interfacesRMI.jar" d'avant ?
J'ai l'impression que le point dit que je suis dans serveursRMI ce qui rend la ligne précédente plus étrange.

Maintenant côté client, je fais la même chose en fournissant le interfacesRMI.jar et je déclenche client dans clientsRMI car je me suis déplacé dans ce dossier. Mais c'est normal que mon client accède à ce fichier de cette manière ? Je lui donne pas de lien vers l'URL ?



Prenons l'exemple 1 Client1 et runServeurMethodes1.

j'aurais aimé faire fonctionner ce qu'il y a en bas :

start rmiregistry -J-Djava.rmi.server.useCodeBaseOnly=false
cd "C:\Users\fabie\Desktop\NSY102\5 RMI\exemples_cours_rmi_bluej"
start java -cp . ServeurWeb8086
start java -cp . interfacesRMI.jar;. serveursRMI\ -Djava.rmi.server.useCodebaseOnly=false -Djava.security.policy=java.policy -Djava.rmi.server.codebase=http://localhost:8086/interfacesRMI.jar -Djava.rmi.server.logCalls=true -Djava.security.policy=java.policy ServeurDeMethodes1
java -cp . interfacesRMI.jar;. clientsRMI\ Client1

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

Re: Commande .bat RMI

Post by burckh_s » 20 Mar 2022 3:06

Bonsoir, j'essaie de mieux comprendre l'écriture des commandes dans les fichiers .bat, chose que j'avais un petit peu vu de loin.
Par exemple, j'essaie de créer un et un seul bat depuis mon bureau mais je n'y arrive pas.
Avant de continuer, j'aimerais une clarification.
Cette commande lance l'annuaire et précise que celui-ci fonctionnera avec des URL
CODE : TOUT SÉLECTIONNER

start rmiregistry -J-Djava.rmi.server.useCodeBaseOnly=false
On exécute notre serveur web qui gère les URL de l'annuaire et les requêtes
CODE : TOUT SÉLECTIONNER

start java -cp . ServeurWeb8086
A partir de là, cela se complique un peu.
je suis dans le dossier serveursRMI donc je 1 retour.
Je fournis le jar ?
CODE : TOUT SÉLECTIONNER

start java -cp ../interfacesRMI.jar;.
ensuite il y a un "." donc je suis dans le jar ou dans mon dossier serveursRMI ?
le . designe le repertoire courant, donc celui ou tu lance ton fichier bat sauf si dedans, il y a une commande cd qui précède.
Quand j'écris "http://localhost:8086/interfacesRMI.jar", comment sait-il que je parlais du "../interfacesRMI.jar" d'avant ?
J'ai l'impression que le point dit que je suis dans serveursRMI ce qui rend la ligne précédente plus étrange.
A tester, mais -cp ../interfacesRMI.jar et http://localhost:8086/interfacesRMI.jar corresponde à la même chose, je pense que cela marche si tu enlèves un des deux. La différence, c'est que si tu n'as pas interfacesRMI.jar en local tu peux l'avoir qu'avec "java.rmi.server.codebase"
Maintenant côté client, je fais la même chose en fournissant le interfacesRMI.jar et je déclenche client dans clientsRMI car je me suis déplacé dans ce dossier. Mais c'est normal que mon client accède à ce fichier de cette manière ? Je lui donne pas de lien vers l'URL ?
Comme dis avant, un "java.rmi.server.codebase" devrait suffire, d'où l'accès distant.
j'aurais aimé faire fonctionner ce qu'il y a en bas :

start rmiregistry -J-Djava.rmi.server.useCodeBaseOnly=false
cd "C:\Users\fabie\Desktop\NSY102\5 RMI\exemples_cours_rmi_bluej"
start java -cp . ServeurWeb8086
start java -cp . interfacesRMI.jar;. serveursRMI\ -Djava.rmi.server.useCodebaseOnly=false -Djava.security.policy=java.policy -Djava.rmi.server.codebase=http://localhost:8086/interfacesRMI.jar -Djava.rmi.server.logCalls=true -Djava.security.policy=java.policy ServeurDeMethodes1
java -cp . interfacesRMI.jar;. clientsRMI\ Client1
Je sais que chez moi, il n'aime pas trop quand je lance le rmi registry hors du dossier exemples_cours_rmi_bluej, ou alors il faut lui spécifié un codebase aussi.
-cp . interfacesRMI.jar;.
c'est plutôt -cp interfacesRMI.jar;./ClientRMI, je le lancerai dans le dossier ClientRMI avec -cp .;../interfacesRMI.jar

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

Re: Commande .bat RMI

Post by guill_f58 » 20 Mar 2022 14:51

J'ai pensé aussi à cela pour le ../interfacesRMI.
Mais le code des .bat est pas forcement consistant de ce côté. C'est à dire que quand on aurait pu avoir les deux (../interfacesRMI et localhost), on a parfois qu'interfacesRMI de spécifié. Et je n'ai pas testé de supprimer le lien relatif pour vérifier ...

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

Re: Commande .bat RMI

Post by lespri_p » 20 Mar 2022 17:53

Ce qui est un peu obscur pour moi est simplement le rôle du serveur web. Quelqu'un pourrait-il me l'expliquer?

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

Re: Commande .bat RMI

Post by douinj » 21 Mar 2022 10:22

Bonjour,
le rôle du serveur web.
Analogue à la variable d'environnement CLASSPATH : où se trouvent les fichiers .class ( notamment lors de la construction du proxy via rmiregistry)

à suivre

Post Reply