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

Java EE Discussion :

[Stratégie] Parallélisation tout en conservant le caractère transactionnel


Sujet :

Java EE

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 15
    Points : 22
    Points
    22
    Par défaut [Stratégie] Parallélisation tout en conservant le caractère transactionnel
    Bonjour,

    J'ai une petite question pour laquelle je n'ai pas trouvé de solution :


    On a un ejb qui fait un gros traitement.
    On décide de découper cette EJB en partie pour faire les traitements en parallèle.
    Mais tous ces traitements doivent se faire au sein d'une même transaction (définie dans l'EJB).

    Le problème est qu'on ne peut bien sûr pas gérer nos Threads dans un EJB (donc adieu package concurrent de java) et que les JMS ne supportent pas la transaction de l'appelant.

    Comment résoudre ce problème de façon propre ?

  2. #2
    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
    Et si tu appliques ta transaction sur un ejb session qui lui même appellerait plusieurs ejb message driven pour le traitement en parallèle ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 15
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par fr1man Voir le message
    Et si tu appliques ta transaction sur un ejb session qui lui même appellerait plusieurs ejb message driven pour le traitement en parallèle ?
    Oui mais non.
    C'est ce que j'entendais par "JMS ne supporte pas la transaction de l'appelant"

    En fait très simplement quand tu appèles des MDB tu ne fais qu'envoyer un message sur un queue JMS (c'est un EJB coté container mais pas coté client - même si le client est dans le container).

    Et heureusement d'ailleurs, sinon on ne pourrait pas créer avec des EJB des traitements asynchrones puisque c'est juste avant de nous rendre la main que l'EJB fait le cat échéant un commit sur la transaction active.


    Une autre solution ?

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/10/2009, 09h06
  2. Réponses: 2
    Dernier message: 28/11/2007, 21h02
  3. Réponses: 7
    Dernier message: 10/09/2007, 17h35
  4. Réponses: 6
    Dernier message: 05/05/2007, 11h12
  5. Réponses: 4
    Dernier message: 25/02/2007, 22h11

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