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 :

JMS, connexions durables et ExceptionListener sur MDB


Sujet :

Java EE

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 19
    Points : 13
    Points
    13
    Par défaut JMS, connexions durables et ExceptionListener sur MDB
    Bonjour

    Question JMS, en l'occurence sous JBoss mais je pense applicable dans le cas général.

    Sur JBoss 5.1, un MDB EJB3 client d'une Queue distante, exposée par un serveur que nous appellerons Toto. Lorsque Toto redémarre, ma session cliente est perdue, la reco automatique ne fonctionne donc pas, c'est le drame.

    1. j'ai cru comprendre que les connexions durables n'étaient valables que pour les Topic, pas pour les Queues. Ça m'arrangerais de me planter sur ce coup là, mais je trouve pas de ressources sur le net à propos d'un MDB client d'une Queue en connexion durable, et mes tentatives ne fonctionnent pas (i.e. Toto redémarre, ma connexion durable n'est pas franchement durable...)

    2. il me semble que dans ce cas, JMS diffuse une Exception à tous les ExceptionListener, qui doivent du coup avoir la charge de nettoyer les anciennes connexions et en refaire de nouvelles. D'une ça mérite confirmation d'expert, et de deux, je ne sais pas comment récupérer ma ressource de connexion / session / whatever à partie d'un simple MDB.

    Merci d'avance !

  2. #2
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    Tu utilises genericra???

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    Non, à tel point que j'ai dû googler pour savoir ce que c'est

    Sur ce que j'en comprend, même si ça doit être applicable à tous les serveurs d'application, c'est nativement intégré à Glassfish.

    Je suis sous JBoss 5, la "surcouche" de gestion JMS est JBoss Messaging.

    Tu avais une idée par rapport à ça ? Les principes sont peut-être les mêmes...

  4. #4
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    Tu avais une idée par rapport à ça ?
    En effet car avec un connecteur JCA, la conf se fait dans le descripteur de déploiement ou via annotations activation-config de @MessageDriven.

    Mais du coup c'est pas ca.
    Tu connais le nom du connecteur utilisé par JBoss?

  5. #5
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    Bon en fait j'ai googlé pour vois les activation config property dispo:

    http://community.jboss.org/wiki/Conf...essageListener

    As-tu essayé de bidouiller de cette façon?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    Oui, c'est ce que j'évoque dans mon 1.
    La Queue en question peut-être configuré par le fichier XML ou les annotations, ça revient au même, mais spécifier le durable ne change pas mon problème de reco, d'où mon interrogation sur la possibilité d'une Queue durable, Topic uniquement.

    Vu que tu es là, pas d'idée pour le 2. ?

  7. #7
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    Durable n'a rien a voir...
    Une queue conserve tous les messages et ce même s'il n'y a aucun consommateur présent au moment de la réception.
    Par contre pour les topics c'est différent, s'il n y a pas d'abonnés aucune raison de conserver le message. Durable signifie que je suis abonné permanent et que les message transmis doivent être dispo jusqu'à ce que moi le Durable l'ai acquittée.

    Je trouve ton histoire assez louche car par défaut le reconnectInterval est de 10 secondes donc tes MDB devraient pouvoir se replugger et se remettre à consommer.

    Deux questions en passant:
    Dans la conf de JBoss, pas de trace d'un paramètre genre nombre d'essai?
    Ton problème concerne uniquement tes ressources persos ou également tes MDBs?

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    Voilà, c'est ce que je pensais et c'est surtout beaucoup plus clair comme ça.

    Le reconnectInterval est bien setté, mais ne joue pas dans ce cas là : en cas de reboot du serveur distant (donc perte des session client), la connexion ne peut être réétablie, et le système diffuse donc une JMSException à tous les ExceptionListener (j'ai lu le principe dans la doc de JBoss Messaging, mais je remet pas la main dessus. On en parle dans le premier post de ce thread en tout cas). D'où mon 2., je ne sais pas à l'heure actuelle comment reconstruire ma connexion dans le MDB, puisque je suis incapable d'en récupérer les ressources.

Discussions similaires

  1. Connexion ADO sur mdb en Lecture seule impossible ?
    Par ak_damien dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/02/2010, 13h58
  2. [10g2]Connexion à Access depuis Oracle avec Password sur .mdb
    Par lunab54 dans le forum Connexions aux bases de données
    Réponses: 0
    Dernier message: 14/10/2009, 11h11
  3. Connexion utilisateur XP PRO sur domaine WINDOWS 2003 server
    Par barok dans le forum Windows Serveur
    Réponses: 14
    Dernier message: 20/10/2006, 22h27
  4. Réponses: 1
    Dernier message: 05/03/2006, 12h35
  5. prob connexion internet : priorité reseau sur modem
    Par sniperwolf dans le forum Administration
    Réponses: 1
    Dernier message: 21/10/2005, 10h11

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