p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Invité régulier
    Inscrit en
    mai 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : mai 2007
    Messages : 47
    Points : 5
    Points
    5

    Par défaut [JMS] Une exception manquée

    Bonjour,

    Je travaille avec JMS sous eclipse. Mon programme repose sur les topics. J'ai un producteur qui a pour role de créer des messages et les envoyer à un MOM (ActiveMQ). Tous se passe à merveille, mon programme foncitionne parfaitement.

    Cependant, en voulant faire des tests, j'ai stopé ActivMQ, et puis lancé mon programme => Le résultat atendu est une exception (affichage d'un message d'erreur, puisque j'ai catché l'exception). Mais rien de tout cela ne se produit, le programme se contente d'attendre que je relance ActiveMQ.

    À l'aide d'un debug j'ai constaté que le programme s'arrete au niveau de l'instruction : connection.start(); il reste à attendre le relancement du MOM mais en aucun cas il affiche "Impossible to start a connection". Hors moi je désire avertir l'utilisateur que le MOM est stoppé. Une idée ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
     
    public void connect() throws MOMException {
    		if (connection == null) {
    			ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, "failover://tcp://" + hostname +":61616");
     
    			try {
    				connection = connectionFactory.createConnection();
    			} catch (JMSException e) {
    				throw new MOMException("Impossible to create a connection", e);				
    			}
                try {
    				connection.start();
    			} catch (JMSException e) {
    				throw new MOMException("Impossible to start a connection", e);
    			}
        		try {
    				session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
    			} catch (JMSException e) {
    				throw new MOMException("Impossible to create a session", e);
    			}
        		try {
    				destination = session.createTopic(topic);
    			} catch (JMSException e) {
    				throw new MOMException("Impossible to create a  topic", e);
    			}
    		}
    	}

    Merci

  2. #2
    Expert Confirmé Sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2007
    Messages
    22 916
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

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

    Informations forums :
    Inscription : avril 2007
    Messages : 22 916
    Points : 43 545
    Points
    43 545

    Par défaut

    il faut retirer le failover. Le principe du failover dans l'url c'est justement de tourner en boucle sur l'ensemble des serveurs mentionné jusqu'à ce qu'e l'un fonctionne
    "Tchize is always good. Tchize is just milk’s attempt at being immortal"
    faq java, cours java, javadoc. Pensez à et

  3. #3
    Invité régulier
    Inscrit en
    mai 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : mai 2007
    Messages : 47
    Points : 5
    Points
    5

    Par défaut

    Bonjour,

    Merci pour votre réponse. Je vais essayer cela tout de suite

  4. #4
    Invité régulier
    Inscrit en
    mai 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : mai 2007
    Messages : 47
    Points : 5
    Points
    5

    Par défaut

    Ahh non ça ne marche pas non plus

  5. #5
    Expert Confirmé Sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2007
    Messages
    22 916
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

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

    Informations forums :
    Inscription : avril 2007
    Messages : 22 916
    Points : 43 545
    Points
    43 545

    Par défaut

    Vous avez quoi comme code maintenant et quel est le comportement de votre application quand le broker est coupé?
    "Tchize is always good. Tchize is just milk’s attempt at being immortal"
    faq java, cours java, javadoc. Pensez à et

  6. #6
    Invité régulier
    Inscrit en
    mai 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : mai 2007
    Messages : 47
    Points : 5
    Points
    5

    Par défaut

    La méthode connect est appelée par par une autre classe et cela donne ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    logger.info("Trying to connect to activeMQ ...");
    try {
    Producer.connect();
    } 
    catch (MOMExceptione )
    {
    logger.fatal("activeMQ connection error", e);
    }
    Mon programme reste bloqué au niveau de : Trying to connect to tactiveMQ ...

  7. #7
    Expert Confirmé Sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2007
    Messages
    22 916
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

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

    Informations forums :
    Inscription : avril 2007
    Messages : 22 916
    Points : 43 545
    Points
    43 545

    Par défaut

    on peux voir le contenu de la méthode connect? Parce que si y a pas de serveur ouvert, ca devrais directement remonter une socketException
    "Tchize is always good. Tchize is just milk’s attempt at being immortal"
    faq java, cours java, javadoc. Pensez à et

Discussions similaires

  1. error 80020009 une exception s'est produite
    Par Riouxe21 dans le forum ASP
    Réponses: 6
    Dernier message: 21/12/2004, 11h01
  2. erreur :"une exception s'est produite"
    Par leborg dans le forum ASP
    Réponses: 11
    Dernier message: 02/03/2004, 15h09
  3. [JSP] Affichage numéro de ligne d'une exception
    Par PhoneKilleR dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 23/09/2003, 14h59
  4. Réponses: 2
    Dernier message: 28/08/2003, 00h00
  5. Réponses: 3
    Dernier message: 01/11/2002, 14h30

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