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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    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
    Membre averti
    Profil pro
    Développement, conception technique et qualité de code
    Inscrit en
    Août 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

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

    Informations forums :
    Inscription : Août 2008
    Messages : 18
    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
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    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
    Membre averti
    Profil pro
    Développement, conception technique et qualité de code
    Inscrit en
    Août 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

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

    Informations forums :
    Inscription : Août 2008
    Messages : 18
    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, 15h37
  2. Conversion à la volée de fichiers mov en swf
    Par Philoulheinz dans le forum Flash
    Réponses: 3
    Dernier message: 16/07/2006, 00h07
  3. Modification attributs d'un fichier avec PHP
    Par zetta dans le forum Langage
    Réponses: 1
    Dernier message: 03/07/2006, 12h55
  4. Réponses: 3
    Dernier message: 29/06/2006, 17h54
  5. Modification texte dans un fichier
    Par byloute dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 04/10/2005, 16h34

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