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

JWS Java Discussion :

Modification à la volée du fichier JNLP


Sujet :

JWS Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut Modification à la volée du fichier JNLP
    Bonjour,

    Voila mon problème:

    J'utilise les servlet JnlpDownloadServlet et JnlpFileHandler pour générer dynamiquement mes fichier jnlp (remplacement du nom de de domaine ...).

    Actuellement je fournit à mon application diverses informations (login/mdp ...) via mes fichiers jnlp.

    Ce que voudrait faire c'est modifier mes fichiers jnlp à la volée (par exemple changer le login à la volée via un champ sur une page HTML) sans avoir à redémarrer mon serveur ou changer à la main mon fichier jnlp.
    J'ai déjà essayé de modifier les timestamp à chaque demande de téléchargement mais cela ne fonctionne pas (impossible d'écrire dans le fichier).

    Donc si quelqu'un aurait une piste cela m'aiderait grandement.

    Merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Développement, conception technique et qualité de code
    Inscrit en
    Août 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Développement, conception technique et qualité de code

    Informations forums :
    Inscription : Août 2008
    Messages : 18
    Points : 27
    Points
    27
    Par défaut
    Bonjour,

    il est possible de modifier dynamiquement le JNLP.
    C'est fait dans JNLPFileHandler.specializeJnlpTemplate pour le context par exemple.
    Il suffit d'y rajouter une ligne de type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jnlpContent = substitute(jnlpContent, "$$maVariable", request.getParameter("maVariable"));
    et de définir ainsi sa variable dans le JNLP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <argument>$$maVariable</argument>
    L'appel au JNLP se fera en ajoutant le paramètre ?maVariable=toto.

    ATTENTION: un paramètre ne doit pas être vide, Java Webstart n'aime pas.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Tout d'abord merci de m'avoir répondu.

    Mais ce n'est pas tout a fait ma question car je fait déjà ce que tu m'a proposé (en utilisant un POST au lieu d'un GET mais cela n'a pas d'importance) pour transmettre certaines variables à l'application.

    Le truc qui ne fonctionne pas c'est que JnlpFileHandler ne change pas les valeurs du fichiers JNLP à la volée. Je m'explique:
    si je me connecte a mon application en lui passant le user "toto", à la première génération du fichier JNLP cet user va être correct. Mais lorsque je deconnecte ce user pour en connecter un nouveau le fichier JNLP conserve les anciennes valeurs (c'est a dire toto).
    Pour que les nouvelles valeurs soient prisent en compte il faut que je redémarre mon serveur ou alors que je change à la main la valeur du timestamp du fichier JNLP.

    Donc la je suis bloqué je ne sait pas comment faire pour la mise a jour "à la volée" du fichier JNLP.

  4. #4
    Nouveau membre du Club
    Profil pro
    Développement, conception technique et qualité de code
    Inscrit en
    Août 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Développement, conception technique et qualité de code

    Informations forums :
    Inscription : Août 2008
    Messages : 18
    Points : 27
    Points
    27
    Par défaut
    Bonjour

    JNLPFileHandler place ce qu'il génère dans un cache indexé par les ID des session.
    L'id de session est-il bien réinitialisé quand la première personne se déconnecte ?

    Une solution un peu plus barbare serait de forcer le timeout à 0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      <resources>
        ...
        <property name="http.client.socket.read.timeout" value="0"/>
        ...
      </ressources>

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/04/2008, 14h37
  2. Conversion à la volée de fichiers mov en swf
    Par Philoulheinz dans le forum Flash
    Réponses: 3
    Dernier message: 15/07/2006, 23h07
  3. Modification attributs d'un fichier avec PHP
    Par zetta dans le forum Langage
    Réponses: 1
    Dernier message: 03/07/2006, 11h55
  4. Réponses: 3
    Dernier message: 29/06/2006, 16h54
  5. Modification texte dans un fichier
    Par byloute dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 04/10/2005, 15h34

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