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

Spring Java Discussion :

Lancer un thread depuis Spring intégration après insertion message en base


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de jamesleouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 522
    Par défaut Lancer un thread depuis Spring intégration après insertion message en base
    bonjour à vous,

    Dans le cadre de l'utilisation de Spring Integration afin de lire une Queue et d'insérer en base le message, j'aurais besoin d'exécuter un programme de traitement sur justement ce message.

    J'aimerais, dans la mesure du possible, lancer un thread prenant en entrée ce message afin de réaliser la suite du traitement. Cependant j'aimerais justement séparer ce fils d'exécution afin que la partie intégration lise le message suivant dans la queue.

    Je ne sais pas encore si le traitement en question sera un simple jar, ou si je lancerais un spring batch; Mais l'important est que je voudrais séparer les fils d'exécution afin que le module d'intégration n'ait pas à attendre la fin du traitement.

    J'ai vu ça sur un site :
    SimpleAsyncTaskExecutor

    This implementation does not reuse any threads, rather it starts up a new thread for each invocation. However, it does support a concurrency limit which will block any invocations that are over the limit until a slot has been freed up. If you're looking for true pooling, keep scrolling further down the page.
    Qu'elle est al meilleure manière de lancer un thread depuis Sring intégration?
    (Et aussi, est il possible de lancer un programme spring batch depuis un module intégration sur un autre thread?)

    Merci beaucoup

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut
    Ton "SimpleAsyncTaskExecutor", je pense que c'est quelque chose qui vient du scheduling (Quartz) de spring. A priori, je ne vois que ça comme solution à ton problème...

    Tu pourrais te baser sur ce principe et dépiler ta queue une à une ... Ca pourrait marcher. Tu mets ton cron toutes les X min.

    Par contre, si ton traitement est long et que tu as plein de messages dans ta queue, tu risques d'avoir plein plein de threads (après, si tu atteints la limite de ta jvm, champion !!).

    Par contre, si les messages arrivent plus vite que tu n'arrives à les dépiler au cours de traitements sur plusieurs thread, ben ta queue ne fera qu'augmenter (mais ça tu ne pourras pas faire grand chose).

    Bon courage.

Discussions similaires

  1. [QtCore] Lancer plusieurs threads depuis un bouton
    Par newbie_554555 dans le forum PyQt
    Réponses: 4
    Dernier message: 25/11/2011, 21h40
  2. Lancer une interuption depuis un Thread
    Par FabienCx dans le forum Concurrence et multi-thread
    Réponses: 8
    Dernier message: 12/08/2008, 11h34
  3. Réponses: 3
    Dernier message: 19/03/2008, 09h38
  4. [AJAX] Rafraichissement après insertion dans la base
    Par xave dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/05/2007, 10h56
  5. Affichage d'une image après insertion dans une base
    Par leloup84 dans le forum Langage
    Réponses: 9
    Dernier message: 24/01/2006, 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