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

avec Java Discussion :

Faire du pooling en Java


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de eraim
    Inscrit en
    Mars 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2004
    Messages : 98
    Par défaut Faire du pooling en Java
    Bonjour,

    J'ai une application Java qui doit écouter l'arrivée de message sur une queue.
    C'est donc une application qui doit être lancé une fois, puis tourner continuellement.

    1 - Y a-t-il un moyen plus optimale que d'écrire une boucle "while(true) { ... }" dans la méthode main ?
    2 - Comment faire pour arrêter l'application lorsqu'elle tourne ?

    Merci d'avance pour votre aide.

    eraim

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Ta "queue" est-elle d'un type particulier (MQSeries, JMS, etc.)?

    Si oui, plutôt que de réinventer la roue, il vaut mieux utiliser les APIs dédiées de ces outils.

    Si tu dois vraiment recoder un système d'écoute, je te suggère d'utiliser le pattern "Listener": un Thread s'occupe d'écouter la (ou les) queue(s), et propage l'information dès qu'elle change d'état (c'est-à-dire dès l'arrivée d'un message)
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Membre confirmé Avatar de eraim
    Inscrit en
    Mars 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2004
    Messages : 98
    Par défaut
    En effet, je veux écouter les messages de MQ-Series...
    Quelles classes dois-je utiliser du coup ?
    Aurais-tu un exemple de code, stp ?

  4. #4
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Pour avoir déjà travaillé en java avec "Websphere MQ" (le produit d'IBM succédant à MQ-Series), voilà le conseil que je peux te donner:

    Ne te lance SURTOUT PAS dans le développement d'une API de communication avec les queues MQ-Series. Tu passeras énormément de temps à développer quelque chose de moins bien (moins fiable, moins sécurisé...) que ce qui existe déjà.

    En effet, si tu as des queues MQ, tu dois (ou du moins ta boite doit avoir) un support d'IBM qui te fournira les API java correspondantes.
    D'ailleurs, sans même passer par le support, je pense que ces API sont disponibles en libre téléchargement sur un site d'IBM (mais n'ayant pas vérifié, c'est à prendre avec des pincettes).

    Concernant le code, l'API n'est pas forcément des plus évidentes à manier, et il te faudra certainement quelques jours d'apprentissage avec les docs d'IBM pour l'utiliser convenablement.

    Le projet sur lequel j'ai travaillé étant professionnel, je ne peux évidemment pas te transmettre mes sources (sauf à les retravailler pour en faire un exemple indépendant du projet, ce que je n'ai pas le temps de faire... sans compter que c'est un ancien projet et que j'ai depuis oublié les détails d'implémentation et les subtilités techniques).
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  5. #5
    Membre chevronné Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Par défaut
    Tu as deux possibilités :
    Utiliser l'API Java d'IBM propriétaire MQ.
    Utiliser l'API JMS directement, car MQ est une implémentation JMS. Ca te donne un code plus portable, car tu n'as pas de dépendance entre ton code et MQ. Donc un jour tu pourras changer de provider en changeant uniquement de la config.

Discussions similaires

  1. Faire une bd avec java et MySQL.
    Par argon dans le forum Outils
    Réponses: 4
    Dernier message: 04/12/2006, 20h05
  2. faire des interfaces en Java
    Par 18Marie dans le forum Langage
    Réponses: 1
    Dernier message: 08/09/2006, 20h39
  3. Faire un setup en Java
    Par jeje99 dans le forum EDI et Outils pour Java
    Réponses: 7
    Dernier message: 19/01/2006, 12h50
  4. [Réseaux] Comment faire un sniffer en JAVA ?
    Par Alec6 dans le forum Entrée/Sortie
    Réponses: 17
    Dernier message: 09/12/2005, 03h24
  5. [Débutant] [Thread] Faire patienter un programme java....
    Par yoxx dans le forum Concurrence et multi-thread
    Réponses: 3
    Dernier message: 25/09/2005, 12h36

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