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

Servlets/JSP Java Discussion :

Lancement d'un thread dans un ServletContextListener


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2
    Par défaut Lancement d'un thread dans un ServletContextListener
    Bonjour,

    Je voudrai lancer un thread au chargement de mon application web j2ee.
    Pour cela, j'ai instancié un ServletContextListener qui appelle dans sa méthode contextInitialized le fameux thread :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private static Scheduler m_scheduler = new Scheduler(10);
    public void contextInitialized(ServletContextEvent a_sce) {
             m_scheduler.start();
    }
    Malheureusement, mon thread ne se lance pas jusqu'au bout !
    Est ce que j'applique la bonne méthode ? Avez vous une idée ?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par jimix Voir le message
    Malheureusement, mon thread ne se lance pas jusqu'au bout !
    Que veux-tu dire par la exactement ???

    a++

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2
    Par défaut
    Si tu veux, j'ai testé l'exécution du thread dans deux cas :

    1 - Dans un junit sous Eclipse
    2 - Dans un ServletContextListener au chargement de mon application j2ee.

    Dans le premier cas, le thread s'exécute correctement de bout en long (c'est à dire que l'exécution des 10 requêtes SQL aboutissent).

    Dans le deuxième cas, les logs montrent que seules les premières requêtes SQL lancées par mon thread sont correctement exécutées.

    Je pense que c'est lié au contexte d'exécution d'un thread au sein d'un conteneur web j2ee. Par contre, d'après ce que je lis sur le net, le lancement d'un thread n'est pas conseillé dans les spécifications j2ee et certain serveur d'applications n'autorise pas l'exécution des threads au sein de son conteneur web.

    Du coup, est ce que tu aurais une idée sur l'implémentation préconisée pour ce que je veux faire ?

    Merci

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Je ne vois pas pourquoi on ne pourrait pas lancer de thread
    Tu as une source pour cela ??


    Sinon concernant la non-exécution des réquêtes : tu n'as rien dans tes logs ? Ni exception ni message d'erreur ???

    a++

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

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Je ne vois pas pourquoi on ne pourrait pas lancer de thread
    Peut-être que en lançant un thread directement, le serveur d'application n'a plus le moyen de gérer correctement les ressources.

    Au lieu d'utiliser un thread, on peut utiliser un ejb message driven.

Discussions similaires

  1. Lancement d'un thread dans un JMenuItem
    Par khayri dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 17/05/2010, 23h18
  2. [Serveur J2EE] Faire tourner un thread dans un serveur d'applications
    Par Pierre-Yves VAROUX dans le forum Java EE
    Réponses: 3
    Dernier message: 13/10/2005, 14h10
  3. création de plusieurs threads dans WinMain
    Par ChidoriRasengan dans le forum DirectX
    Réponses: 1
    Dernier message: 15/06/2005, 21h36
  4. Réponses: 8
    Dernier message: 17/03/2004, 14h40
  5. Thread dans une classe ?
    Par Sephi dans le forum Threads & Processus
    Réponses: 7
    Dernier message: 07/03/2004, 18h16

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