Perte de connexion client JMS
Bonjour,
Je fais le test suivant :
- un topic est créé sur une gateway, des messages (sans TTL) sont produits régulièrement
- un client JMS (appli extérieure) distant se connecte à se topic (souscription non durable) pour récupérer les messages.
Que devrait-il se passer en cas de déconnexion "brutale" (i.e. kill du process java) du client?
J'observe 2 cas de figure différents (de manière aléatoire) en monitorant avec le jconsole (côté gateway/topic):
- CAS 1 :
- pendant quelques dizaines de secondes, tout se passe comme si le client était toujours là : NBMsgsDeliverSinceCreation = NbMsgsReceiveSinceCreation, 1 subscriberIds, NBMsgsSentToDMQSinceCreation=0
- Puis (sans doute au moment où la déconnexion est détectée) : plus de subscribersId, uniquement le compteur NbMsgsReceiveSinceCreation augmente
- CAS 2 :
- tout se passe comme si la perte de connexion n'était pas détectée : NBMsgsDeliverSinceCreation = NbMsgsReceiveSinceCreation, 1 subscriberIds, NBMsgsSentToDMQSinceCreation=0
- en parallèle, la mémoire de la gateway augmente très fortement (jusqu'au heap space) si le client n'est pas relancé, pas d'accumulation dans l'Engine.
Pour moi, c'est le CAS 1 qui devrait se produire systématiquement. Pourquoi le CAS 2 apparait aussi régulièrement? Que représente cette augmentation mémoire? Est-ce lié à une mauvaise utilisation de la connexion cliente? Y-a-t-il un contournement possible?
Merci.
[JORAM-84] created at 2012-10-24 16:21:01 by tagsys, version JORAM_5_2_3