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

Développement Web en Java Discussion :

[Session Trop Lourde] Peut on l'écrire sur le disque plutot qu'en mémoire?


Sujet :

Développement Web en Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2008
    Messages : 160
    Points : 89
    Points
    89
    Par défaut [Session Trop Lourde] Peut on l'écrire sur le disque plutot qu'en mémoire?
    Bonjour,

    Tout est dit dans le titre. En ajax, je doit garder un certain nombre de gros objet en session pour les récupérer plus tard.
    Existe t-il un moyen de stocker mes objets sur le disque plutôt qu'en mémoire?
    Est-ce avec des objets comme InputStream/OutputStream que cela doit-être gérer?

    D'avance merci.

  2. #2
    Membre actif Avatar de jiddou
    Inscrit en
    Août 2007
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 247
    Points : 251
    Points
    251
    Par défaut
    Regardes du côté de la serialisation .

  3. #3
    Membre habitué Avatar de jean.2edi
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 106
    Points : 131
    Points
    131
    Par défaut
    Un problème récurrent en Ajax !
    Si tu sérialises et que tu récupères tes objets au besoin, tu vas avoir des problèmes de performance. Il faut limiter le nombre d'objets en session de l'utilisateur, par exemple en le faisant éditer un seul objet à la fois, en lui demandant de sauvegarder ou d'annuler avant d'éditer autres chose, etc...

  4. #4
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Je pense que ça dépend de ton serveur d'application, Tomcat propose le PersistentManager pour les sessions mais je n'ai jamais testé et la dernière fois que je m'y suis intéressé, c'était au stade expérimental.

    Tu peux cependant opter pour un cache genre IndexedDiskCache des jcs dont tu manages l'expiration.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2008
    Messages : 160
    Points : 89
    Points
    89
    Par défaut
    Merci pour vos réponses

    Citation Envoyé par jean.2edi Voir le message
    Un problème récurrent en Ajax !
    Si tu sérialises et que tu récupères tes objets au besoin, tu vas avoir des problèmes de performance. Il faut limiter le nombre d'objets en session de l'utilisateur, par exemple en le faisant éditer un seul objet à la fois, en lui demandant de sauvegarder ou d'annuler avant d'éditer autres chose, etc...
    En fait j'utilise la session qu'a un seul endroit de l'application. vu que c'est une manipulation un peu lourde (création de stats avec jasper) je fait des allez retour en ajax entre une page qui affiche l'état de la compilation des rapports et celle qui les compile un à un. Pour ne pas perdre ma liste, je la stock dans la session et je les génère en pdf une fois le traitement terminé.

    Citation Envoyé par _skip Voir le message
    Je pense que ça dépend de ton serveur d'application, Tomcat propose le PersistentManager pour les sessions mais je n'ai jamais testé et la dernière fois que je m'y suis intéressé, c'était au stade expérimental.

    Tu peux cependant opter pour un cache genre IndexedDiskCache des jcs dont tu manages l'expiration.
    Ca à l'air pas mal en effet, mais vu que je doit copier une liste d'objet qui se remplit petit à petit en vu de la récupérer a la fin de l'exécution du script. le mieux ne reste t-il pas d'utiliser la serialisation comme le suggére jiddou?

    Merci.

  6. #6
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Si un objet est sauvé sur disque ça fera de toute manière intervenir la sérialization.
    Après c'est à toi de voir avec quoi tu veux (peux) bosser dans ton environnement.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2008
    Messages : 160
    Points : 89
    Points
    89
    Par défaut
    J'ai fait par serialisation, ca marche nickel!
    Merci a vous

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

Discussions similaires

  1. variable de session trop lourde ???
    Par LE NEINDRE dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 11/10/2005, 15h34
  2. [CGI] variable de session trop lourde ????
    Par LE NEINDRE dans le forum Web
    Réponses: 2
    Dernier message: 07/10/2005, 10h12
  3. lire/écrire sur un port com sans le monopoliser
    Par totofweb dans le forum Windows
    Réponses: 4
    Dernier message: 26/07/2004, 14h23
  4. [OS] Lire et écrire sur disquette
    Par trax44 dans le forum Programmation d'OS
    Réponses: 17
    Dernier message: 22/02/2004, 21h45

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