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 :

[Spring 2.0.2] Gestion de transactions multi ressources (JDBC / JMS) [Data]


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Inscrit en
    Août 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Août 2006
    Messages : 93
    Par défaut [Spring 2.0.2] Gestion de transactions multi ressources (JDBC / JMS)
    Bonjour à tous,

    Je n'arrive pas à résoudre mon pb...
    Mon appli tourne sur JBoss.

    Je cherche à faire au sein d'une seule transaction un insert BDD et un envoi de message JMS.

    Pour cela :
    - je configure un JtaTransactionManager dans mon fichier de config.
    - je rend mon service transactionnel en déclarant un TransactionProxyFactoryBean qui pointe sur ce service.
    - J'utilise Hibernate pour les accès bdd, mon DAO étend donc HibernateDaoSupport.

    Pour tout ça pas de pb, je peux dans mon service faire plusieurs appels BDD, tous sont gérés au sein d'une même transaction.

    Mon problème vient des envois JMS...
    Je ne peux pas utiliser JmsTemplate car il est déconseillé par Jboss entre autres pour des raisons de performances. Existe-t-il une autre solution proposée par Spring ?

    Sinon, si j'écrit mon code relatif aux envois JMS manuellement, sans utiliser de facilitant spring, comment inclure ces envois dans ma transaction ? Aujourd'hui, je lance mes appels depuis mon service transactionnel, mais ça ne marche pas...

    J'ai l'impression qu'il me manque un peu de compréhension sur la façon dont Spring gère les transactions, ou en tout cas une solution pour fonctionner sans JmsTemplate.

    Avez-vous une idée ou une piste svp ?
    Merci d'avance !

  2. #2
    Membre confirmé

    Inscrit en
    Août 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Août 2006
    Messages : 93
    Par défaut
    Résolu,

    En fait la solution ne venait pas de la config Spring, c'est pas grave si je code manuellement tout les envois JMS.

    La solution se trouve dans la config de jboss, toutes les infos sur cette page : http://www.odi.ch/prog/jms-tx.php

    @+
    JB

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 143
    Par défaut
    Cette histoire de problèmes de perfs de JmsTemplate provient de gens qui ont mal lu la doc.
    JmsTemplate est prévu pour être utilisé dans un contexte où l'on utilise un pool de connexions, et il est vrai que si on l'utilise "basiquement" il va créer à chaque fois une connexion, etc etc... C'est le même principe que JDBC si on n'utilise pas de pool de connexion.
    ActiveMQ, par exemple, propose ce type de pool, d'ailleurs ils l'expliquent dans leur documentation :
    http://activemq.apache.org/jmstemplate-gotchas.html

    Par ailleurs, si j'ai bien compris, vous essayez de faire une transaction XA entre votre base de données et votre serveur JMS, en utilisant le moniteur transactionnel de JBoss. Or, d'après cet article, JBossTS ne permet pas de faire ce genre de chose :
    http://www.javaworld.com/javaworld/j...xa.html?page=2

    Ceci dit je n'ai pas personnellement testé!

  4. #4
    Membre confirmé

    Inscrit en
    Août 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Août 2006
    Messages : 93
    Par défaut
    JbossTS est le moteur de transaction par défaut sur JBoss 4 (peut-être même 4.2). Or je suis sur un jboss 3.2.6.

    Voilà peut-être l'explication !

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

Discussions similaires

  1. Gestion des transactions avec Spring-JPA ?
    Par kyf80 dans le forum JPA
    Réponses: 0
    Dernier message: 26/12/2010, 23h37
  2. [Data] Gestion des transaction, Spring et Hibernate
    Par Babilion dans le forum Spring
    Réponses: 2
    Dernier message: 19/03/2010, 15h24
  3. [Data] Spring: gestion des transactions
    Par dkwasiborski dans le forum Spring
    Réponses: 8
    Dernier message: 19/05/2009, 13h14
  4. [Data] gestion des transactions avec Spring Probleme
    Par mouvma dans le forum Spring
    Réponses: 2
    Dernier message: 02/04/2008, 20h39
  5. gestion des transactions
    Par viny dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/03/2004, 21h53

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