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

Plateformes (Java EE, Jakarta EE, Spring) et Serveurs Discussion :

Stopper un MDB depuis l'application


Sujet :

Plateformes (Java EE, Jakarta EE, Spring) et Serveurs

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 9
    Points : 18
    Points
    18
    Par défaut Stopper un MDB depuis l'application
    Bonjour,

    existe-t-il un moyen de 'neutraliser' un MDB afin qu'il ne consomme plus les messages depuis l'application elle-même ?
    (lorsque l'instance est hors d'état de tournée, cela permet de laisser les messages aux autres instance.

    Merci pour toute réponse que vous pourrez m'apporter.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 52
    Points : 70
    Points
    70
    Par défaut
    dans ton mdb tu créer un
    par exemple.
    Tu consomme les messages si isOpen est à true.
    Tu fais une méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public setIsOpen(boolean pIsOpen) {
        this.isOpen = pIsOpen;
    }
    qui sera apellé par l'appli web avec false en paramètre pour empêcher les messages.

    Que tu sois avec un mdb ne change rien c'est du java classique

  3. #3
    Membre régulier
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 114
    Points : 101
    Points
    101
    Par défaut
    Si tu as plusieurs MDB qui écoute sur le même topic ou queue, peu importe ce que chacun fait avec le message. Ils le reçoivent tous de toute façon.


    Citation Envoyé par vijvij Voir le message
    Bonjour,

    existe-t-il un moyen de 'neutraliser' un MDB afin qu'il ne consomme plus les messages depuis l'application elle-même ?
    (lorsque l'instance est hors d'état de tournée, cela permet de laisser les messages aux autres instance.

    Merci pour toute réponse que vous pourrez m'apporter.

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par vijvij Voir le message
    Bonjour,

    existe-t-il un moyen de 'neutraliser' un MDB afin qu'il ne consomme plus les messages depuis l'application elle-même ?
    (lorsque l'instance est hors d'état de tournée, cela permet de laisser les messages aux autres instance.

    Merci pour toute réponse que vous pourrez m'apporter.
    Si tu peux récupérer la connection associé à ton MDB, il sufft de faire un stop pour l'arrêter et un start pour que cela reprenne.

    J'ai implémenter cette fonction en créant pour JONAS, un connecteur JCA vers WEBSPHERE MQ. A chaque instanciation d'un MDB, la méthode "endpointActivation" de ma classe qui implements "ResourceAdapter" est appelé et je garde une trace par composant de la liste des connections associés. Ainsi, via un composant JMX développer dans ce connecteur JCA, je peux stopper tous les MDB d'un type ou associé à un topic ou queue précise en récupérant la connection.

    Dans ton descripteur d'ejb, il suffit de dire que tu utilise le jndiname de l'activation spec de ton connecteur.

    Exemple:
    jonas-ejb-jar.xml:

    <jonas-message-driven-destination>
    <jndi-name>jms/myActivationSpec</jndi-name>
    </jonas-message-driven-destination>
    Le connecteur:
    ra.xml

    <inbound-resourceadapter>
    <messageadapter>
    <messagelistener id="MessageListener">
    <messagelistener-type>javax.jms.MessageListener</messagelistener-type>
    <activationspec>
    <activationspec-class>
    com.blahblah.MQActivationSpecImpl</activationspec-class>
    <required-config-property>
    <config-property-name>destination</config-property-name>
    </required-config-property>
    <required-config-property>
    <config-property-name>destinationType</config-property-name>
    </required-config-property>
    </activationspec>
    </messagelistener>
    </messageadapter>
    </inbound-resourceadapter>
    et dans jonas-ra.xml de ton connecteur JCA:

    <jonas-activationspec>
    <id>MessageListener</id>
    <description>javax.jms.MessageListener</description>
    <jndi-name>jms/myActivationSpec</jndi-name>
    <defaultAS>false</defaultAS>
    </jonas-activationspec>

Discussions similaires

  1. Appels DCOM depuis une application Unix
    Par Dinaïz dans le forum Windows
    Réponses: 1
    Dernier message: 26/08/2005, 13h53
  2. Depuis l'application, atteindre les données de la base
    Par NYINGONE Placide Emery dans le forum Bases de données
    Réponses: 1
    Dernier message: 27/07/2005, 13h58
  3. Réponses: 3
    Dernier message: 29/10/2004, 13h54
  4. Réponses: 5
    Dernier message: 22/12/2003, 14h18
  5. Gestion des Utilisateurs depuis une application
    Par LLaurent dans le forum XMLRAD
    Réponses: 4
    Dernier message: 25/03/2003, 16h29

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