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

API standards et tierces Java Discussion :

[JMS] R�cuperer message


Sujet :

API standards et tierces Java

  1. #1
    Membre �prouv�
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par d�faut [JMS] R�cuperer message
    Bonjour,

    Je d�veloppe une application et je souhaite que mon consommateur de message �coute en permanence pour la r�ception des message:
    J'avais fait ceci sauf que je trouve cela moche une boucle infini. Avez-vous une autre solutions?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    			while(true){
    				Message messageReçu = consumer.receive();
    				this.onMessage(messageReçu);
    			}
    Merci de votre aide

  2. #2
    Expert �minent
    Avatar de tchize_
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par d�faut
    Faire un message driven bean ?

  3. #3
    Membre �prouv�
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par d�faut
    Je connait pas du tout

  4. #4
    Mod�rateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    D�cembre 2011
    Messages
    1 326
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Analyste Programmeur

    Informations forums :
    Inscription : D�cembre 2011
    Messages : 1 326
    Billets dans le blog
    12
    Par d�faut
    Ne fait surtout pas de while(true) et n'utilise pas receive(), les profs vont te tuer, ils attendent de toi que tu utilises les fonctionnalit�s asynchrones de JMS.
    N'h�sitez pas � consulter la FAQ Java, lire les cours et tutoriels Java, et � poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  5. #5
    Membre �prouv�
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par d�faut
    Justement j'ai essayer ceci mais il se passe rien:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    			MessageConsumer receiver = session.createConsumer(destination);
    			receiver.setMessageListener(this);
    Ma classe implements MessageListener
    Sa me d�tecte pas l'arriv� d'un nouveau message, il faut que je relance mon application or c'est pas ce que je veux

  6. #6
    Expert �minent
    Avatar de tchize_
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par d�faut
    Citation Envoy� par totot Voir le message
    Je connait pas du tout
    c'est b�te comme tout � faire, pour autant que tu utiliser un serveur javaEE. Il te suffit de cr�er un bean qui impl�mente MessageListener et de lui mettre l'annotation MessageDriven, il sera appel� d�s arriv�e d'un message.



    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    @MessageDriven(mappedName="jms/Queue") // queue à écouter
    public class SimpleMessageBean implements MessageListener {
        @Resource // si tu en as besoin
        private MessageDrivenContext mdc;
        public void onMessage(Message inMessage) {
          //action
        }
    http://docs.oracle.com/javaee/6/tutorial/doc/bnbpo.html

  7. #7
    Membre �prouv�
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par d�faut
    Et si je veux l'utiliser dans des application qui utilise pas J2ee

  8. #8
    Expert �minent
    Avatar de tchize_
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par d�faut
    dans ce cas, si tu es sur une application standalone, et que tu n'utilise pas de filtre, une boucle avec un receive est selon moi tout � fait acceptable. Avec quelques adaptations:

    Utiliser la m�thode receive prenant un "timeout" en argument, pour ne pas dormir ind�finiment.
    V�rifier dans chaque tour de boucle que l'on a pas demand� au thread de s'arr�ter.

  9. #9
    Membre �prouv�
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par d�faut
    Mais si je met un timeout, il va pas �couter en parmanence

  10. #10
    Expert �minent
    Avatar de tchize_
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par d�faut
    Citation Envoy� par totot Voir le message
    Mais si je met un timeout, il va pas �couter en parmanence
    Et en quoi ce serait un probl�me? Ton code n'�coute pas en permance, il arr�te l'�coute pour traiter un message puis reprends l'�coute l� o� il s'est arr�ter. Je propose d'ajouter un timeout pour pouvoir �ventuellement arr�ter le programme proprement.

  11. #11
    Membre �prouv�
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par d�faut
    Pardons, je voulais dire que je souhaite pas qu'il s'arr�te d'�cout�

  12. #12
    Expert �minent
    Avatar de tchize_
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par d�faut
    c'est pour �a que tu met l'appel dans une boucle, pour qu'il reprenne apr�s tes check d'arr�t...

  13. #13
    Membre �prouv�
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par d�faut
    Je fait un while(true) ?

  14. #14
    Expert �minent
    Avatar de tchize_
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par d�faut
    plutot un


+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [VB.net] Pop r�cuperer message du Mail
    Par kevin01330 dans le forum G�n�ral Dotnet
    R�ponses: 1
    Dernier message: 09/09/2013, 17h04
  2. Impossible de se connecter � une queue JMS + jboss messaging
    Par redsonic dans le forum Wildfly/JBoss
    R�ponses: 1
    Dernier message: 16/03/2009, 23h22
  3. R�cupere message oracle
    Par msahmi dans le forum ASP.NET
    R�ponses: 5
    Dernier message: 28/03/2008, 11h50

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