Précédent   Forum du club des développeurs et IT Pro > Java > Serveurs, conteneurs, et Java EE > Autres
Autres Vos questions sur les autres serveurs d'application Java.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 26/07/2011, 16h43   #1
angelange
Invité de passage
 
Inscription : mai 2007
Messages : 47
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 47
Points : 4
Points : 4
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 :
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
angelange est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 17h30   #2
tchize_
Expert Confirmé Sénior
 
Avatar de tchize_
 
Homme
Responsable de service informatique
Inscription : avril 2007
Messages : 18 278
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Service public

Informations forums :
Inscription : avril 2007
Messages : 18 278
Points : 32 754
Points : 32 754
Envoyer un message via MSN à tchize_ Envoyer un message via Skype™ à tchize_
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
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et
Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir.
tchize_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 12h19   #3
angelange
Invité de passage
 
Inscription : mai 2007
Messages : 47
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 47
Points : 4
Points : 4
Bonjour,

Merci pour votre réponse. Je vais essayer cela tout de suite
angelange est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 12h26   #4
angelange
Invité de passage
 
Inscription : mai 2007
Messages : 47
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 47
Points : 4
Points : 4
Ahh non ça ne marche pas non plus
angelange est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 12h54   #5
tchize_
Expert Confirmé Sénior
 
Avatar de tchize_
 
Homme
Responsable de service informatique
Inscription : avril 2007
Messages : 18 278
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Service public

Informations forums :
Inscription : avril 2007
Messages : 18 278
Points : 32 754
Points : 32 754
Envoyer un message via MSN à tchize_ Envoyer un message via Skype™ à tchize_
Vous avez quoi comme code maintenant et quel est le comportement de votre application quand le broker est coupé?
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et
Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir.
tchize_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 16h30   #6
angelange
Invité de passage
 
Inscription : mai 2007
Messages : 47
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 47
Points : 4
Points : 4
La méthode connect est appelée par par une autre classe et cela donne ça :

Code :
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 ...
angelange est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 19h55   #7
tchize_
Expert Confirmé Sénior
 
Avatar de tchize_
 
Homme
Responsable de service informatique
Inscription : avril 2007
Messages : 18 278
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Service public

Informations forums :
Inscription : avril 2007
Messages : 18 278
Points : 32 754
Points : 32 754
Envoyer un message via MSN à tchize_ Envoyer un message via Skype™ à tchize_
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
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et
Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir.
tchize_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h19.


 
 
 
 
Partenaires

Hébergement Web