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 :

Lancer une fonction JAVA en arrière plan ou asynchrone ?


Sujet :

Développement Web en Java

  1. #1
    Membre régulier Avatar de Mr.Robot12
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 189
    Points : 81
    Points
    81
    Par défaut Lancer une fonction JAVA en arrière plan ou asynchrone ?
    Bonjour,
    j'ai une question :
    dans mon appli web j'ai une fonction qui extraie toutes les archives d'un répertoire lors du chargement de la page (c'est-à-dire dans la fonction init du controller). c'est pas terrible parce que tant que l'extraction n'est pas fini la page ne se charge pas. du coup je voulais savoir si c'est possible de lancer cette fonction d'extraction en arrière plan ?

    merci de votre attention

  2. #2
    Membre expérimenté Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 1 679
    Points
    1 679

  3. #3
    Membre régulier Avatar de Mr.Robot12
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 189
    Points : 81
    Points
    81
    Par défaut
    je crée une classe Thread et je le lance dans mon controller ?

  4. #4
    Membre régulier Avatar de Mr.Robot12
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 189
    Points : 81
    Points
    81
    Par défaut
    bon j'ai fais ça :
    dans la classe ThreadZip qui étend Thread :
    Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public void run(){
            this.zip.extraireToutZip(); // c'est la fonction d'extraction qui est dans une autre classe
        }

    puis dans le controller :

    Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	ThreadZip tZip = new ThreadZip();
     
    	public void init(ServletConfig config) throws ServletException {
    	    this.tZip.start();
    	}

    j'ai bien fais ?
    ça marche, je voulais juste une confirmation

  5. #5
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    C'est l'idée. Je l'aurais plutôt mis dans le doGet ou doPost de ta Servlet que dans le init.

  6. #6
    Membre régulier Avatar de Mr.Robot12
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 189
    Points : 81
    Points
    81
    Par défaut
    ouai finalement je l'ai mis dans service pour qu'un thread se lance quand j'actualise la page. j'ai fais ça dans l'hypothèse où un dossier extraite est supprimé entre temps ou alors une nouvelle archive est disponible

    Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    	    new ThreadZip().start(); //j'extraie depuis un Thread pour que l'extraction se lance en asynchrone
                ......
    	}

    comme ça c'est bon non ?

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

Discussions similaires

  1. Lancer une fonction de MatLab par Java
    Par GaTaLek dans le forum Langage
    Réponses: 5
    Dernier message: 31/07/2015, 16h03
  2. Réponses: 10
    Dernier message: 28/01/2014, 20h05
  3. lancer une fonction MATLAB depuis un code Java
    Par Gouasmi_moh dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 23/04/2011, 18h00
  4. Réponses: 1
    Dernier message: 28/05/2008, 16h04
  5. Comment lancer une fonction
    Par Elois dans le forum PostgreSQL
    Réponses: 7
    Dernier message: 21/04/2004, 19h10

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