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

Struts 1 Java Discussion :

[ Struts ] générer un compteur journalier


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2002
    Messages
    240
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 240
    Par défaut [ Struts ] générer un compteur journalier
    bonjour,

    j'utilise le framework Struts dans une appli web.
    problématique : dans la fonction execute d'une action struts, je dois avoir un numéro unique journalier et incrémenté (entre 1 et 6 chiffres)

    une solution partielle est d'avoir un compteur "id" dans le ServletContext : il est identique pour tous les internautes, je peux l'incrémenter dans l'execute de mon action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public ActionForward execute()  {
           // modifier le compteur du contexte
            ServletContext sc = getServlet().getServletContext();
            if (sc.getAttribute("id") != null) 
                transaction_id = ((Integer) sc.getAttribute("id")).intValue();
            sc.setAttribute("id", new Integer(++transaction_id));     
           // utiliser la variable transaction_id pour le métier
          ....
    je pensais déclarer ce compteur dans le web.xml à l'initialisation des paramètres de l'actionServlet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     <servlet>
      <servlet-name>action</servlet-name>
      <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
      <init-param>
       <param-name>id</param-name>
       <param-value>1</param-value>
      </init-param>
    mais si l'application est arrêtée puis relancé, 2 cas possibles :
    - si l'arrêt et le redémarrage sont effectués le même jour alors le compteur doit reprendre là où il en était (id = 23 par exemple)
    - si l'arrêt et le redémarrage sont faits à des jours différents alors le compteur doit reprendre à 1

    comment procéder ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 56
    Par défaut
    si l'arrêt et le redémarrage sont effectués le même jour alors le compteur doit reprendre là où il en était (id = 23 par exemple)
    Pour moi, si l'on redémarre l'appli, pour l'instant l'id va revenir à 1.

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2002
    Messages
    240
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 240
    Par défaut
    oui je sais, c'est pourquoi l'initialisation du compteur "id" dans la web.xml ne convient pas ... et je n'ai pas trouvé de solution pour un compteur qui ait le comportement suivant :
    si l'application est arrêtée puis relancé, 2 cas possibles :
    - si l'arrêt et le redémarrage sont effectués le même jour alors le compteur doit reprendre là où il en était (id = 23 par exemple)
    - si l'arrêt et le redémarrage sont faits à des jours différents alors le compteur doit reprendre à 1

  4. #4
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    Bonjour,

    il faut que ton compteur puisse être mémorisé entre deux démarrages.


    tu peux à la rigueur passer par un fichier seralizé contenant ton compteur et l'heure.

    si pas de fichier c'est le tout premier démarrage donc compteur à 1
    si fichier test de l'heure....

    autre solution possible persistance en base de donnée.

Discussions similaires

  1. [AC-2010] differences compteurs journalier
    Par hboisteau dans le forum Modélisation
    Réponses: 5
    Dernier message: 16/08/2012, 01h34
  2. Comment générer un rapport en utilisant Struts & EJB?
    Par charleydc5 dans le forum Jasper
    Réponses: 0
    Dernier message: 08/10/2010, 20h10
  3. Réponses: 4
    Dernier message: 19/05/2009, 08h02
  4. Générer un compteur
    Par LEK dans le forum Oracle
    Réponses: 14
    Dernier message: 20/04/2007, 13h43
  5. [Struts] générer du xml
    Par Jerome L. dans le forum Struts 1
    Réponses: 4
    Dernier message: 22/08/2005, 22h14

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