IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

Paramètres Serveur rmi


Sujet :

API standards et tierces Java

  1. #1
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Par défaut Paramètres Serveur rmi
    Bonjour voilà j'ai un problème avec les paramètre pour lancer un serveur RMI.
    Avant je lancais ce serveur a l'aide d'un fichier.bat où étaient spécifiés des paramètres de ce type "-Djava.rmi.server.hostname" "-Djava.security.policy"
    "-DConfigFile", Car j'avais un applet qui devait communiquer avec ce serveur.
    Mais voila maintenant je vais devoir automatiser le tout, et je rique d'avoir plusieur serveur.
    J'ai donc créé une classe qui se charge d'instancier les serveurs mais je ne ssais pas comment lui passer les paramètres précédents, dans ma classe java.

    Merci d'avance pour vos réponses

  2. #2
    Membre expérimenté Avatar de fumiste972
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2003
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2003
    Messages : 228
    Par défaut
    Slt,

    Je ne sais pas si ca va t'aider car je n'ai pas compris la facon dont tu passais tes parametre mais bon...
    Je suppose que tes parametres etaient recuperes dans ton main lors de l'appel, si je ne me trompe pas. Donc plutot que de passer les parametre au main tu peux les donner au constructeur de ta classe.
    Sinon tu peux aussi continuer avec tes points bat que tu cree dans ta classe qui gere le tout et que tu configuer en fonction de ton serveur, et ensuite tu l'execute depuis la classe aussi.

  3. #3
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Citation Envoyé par fumiste972
    Je suppose que tes parametres etaient recuperes dans ton main lors de l'appel,
    Eh non, ce sont là des paramètres de la machine virtuelle. Il faut donc faire un script qui va lancer le bon serveur avec les bons arguments et non pas une classe qui va instancier le(s) serveur(s)

  4. #4
    Membre chevronné Avatar de NeptuS
    Profil pro
    Inscrit en
    Août 2005
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 392
    Par défaut
    tu peux toujours utiliser Runtime :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Process proc = Runtime.getRuntime().exec("java maClass param1 param2")
    où la chaine paramète est celle que contient ton bat

  5. #5
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Par défaut
    Ouais j'avais utiliser un process avec le Runtime.getRuntimes.exec(), mais cela complexifie la chose, car en gros je dois instancier autant de serveur rmi que de lecteur présent sur mon pc, donc le nombre n'est pas connu a l'avance...
    en gros avant mon appli était mono carte donc je lancais un fichier.bat, dont voici une partie:

    SET HOST_NAME=localhost
    SET SECURITY_POLICY=bin/java.policy.applet
    SET CONFIG="./configuration/primitive.conf"
    SET RMI_PORT="1099"
    SET LOG="bin.rmi.logger"
    SET LIBRARY_PATH="./bin"

    java -Djava.rmi.server.hostname=%HOST_NAME% -Djava.security.policy=%SECURITY_POLICY% -DConfigFile=%CONFIG% -Dlog=%LOG% -Djava.rmi.server.hostname=%HOST_NAME% -Drmiport=%RMI_PORT% -Djava.library.path=%LIBRARY_PATH% rmi.StackServerLauncher

    voila.
    Je voudrais donc lors de l'instantiation de mes serveur , passer les parametre ci dessus, et ce dans ma classe .

    Merci pôur vos réponses

  6. #6
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Ca ne peut pas être possible.
    Les arguments que tu passes sont pour la JVM, une fois lancée, tu ne peux plus la reconfigurer... Il faut faire cela dans un script avant le lancement...

  7. #7
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Par défaut
    Donc si je comprends bien, la meilleur chose a faire est de faire un script de lancement de serveur, car ce que je veux faire n'est pas réalisable.
    Donc faire un fichier.bat par serveur en changeant le port, mais en gardant la meme strcuture du fichier.bat que j'ai posté précéedement ?

  8. #8
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    je peux te proposer un truc mais cela risque de compliquer la chose...
    Tu lances une appli qui gère les cartes (et fais un traitement en fonction), puis suivant ce traitement, tu écris un fichier .bat (via ton appli), ensuite, cette appli lance le fichier généré (contenant le serveur à appeler avec les bons paramètres de la JVM) et le tour est joué.
    Bon c'est une méthode BOURRIN, mais je vois rien d'autre (pour l'instant )

  9. #9
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Par défaut
    Lol
    C'est ce que j'ai pensé faire, mais pas avec un serveur, avec autant de serveur que de lecteur connecté a la machine (ca c'est bon la classe est écrite et ca marche).
    Mais d'apres ce que tu dis, puis-je lancer plusieurs serveurs ?

  10. #10
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Ben par principe oui, si ils n'écoutent pas sur le même port...
    En revanche dans ton cas, je pense qu'ils utilisent le même...
    Ce que je voulais dire c'est que ton appli génère le .bat associé au serveur correspondant à la bonne carte avec les bonnes options.

    Donc en résumé
    --> récupération des cartes (je sais pas comment tu fais)
    --> écriture dans un fichier texte (fichier .bat, bonnes options pour la JVM, bufferreader, filewriter et compagnie)
    --> lancement de ce fichier (getRuntime().exec("monFichier.bat")

  11. #11
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Par défaut
    Ouais, ok merci beaucoup. Ca va être légèrement barbare mais je sais où je vais

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Client - Serveur RMI
    Par kalamteeji dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 28/12/2008, 15h28
  2. Probléme démarrage d'un serveur rmi
    Par Kamouzo dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 10/07/2007, 11h40
  3. probleme compilation serveur RMI
    Par gnaoui_9999 dans le forum Java EE
    Réponses: 1
    Dernier message: 04/06/2007, 11h33
  4. Plusieurs serveur RMI en Java
    Par paolo16 dans le forum Langage
    Réponses: 4
    Dernier message: 19/06/2006, 16h14
  5. Arrêter un serveur RMI
    Par devjav dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 14/04/2006, 17h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo