Bug dans UserAgent en réception de messages de Topic ?
Il est possible qu'il y ait un bug dans UserAgent à la réception d'un message provenant d'un Topic (TopicMsgsReply) :
1- Un MOM message est créé, avec un compteur d'ack qui est nul.
2- Dans ClientSubscription (méthode 'browseNewMessages'), le MOM message est mis dans la table des messages si le compteur d'ack est nul :
// It's the first delivery, adds the message to the proxy's table
if (message.acksCounter == 0)
messagesTable.put(message);
La clé du message dans la table est son identifiant.
Or, il est possible qu'un même message soit délivré plusieurs fois à un UserAgent via plusieurs notifications TopicMsgsReply. Dans ce cas, il semble que le deuxième message écrase le premier ce qui engendre des incohérences, notamment dans la gestion des compteurs d'ack.
Par exemple si un UserAgent est abonné à une hiérarchie de Topics B->A (A est parent et B enfant), il recevra deux fois les messages publiés vers B, une fois venant de B et une deuxième fois venant du Topic parent A.
Est-ce que le cas d'une réception multiple des messages est géré dans UserAgent ? Est-ce qu'il y a un bug à ce niveau ?
[JORAM-188] created at 2014-01-23 11:01:53 by feliot, version JORAM_5_9_1