- Expédié
- 2 septembre 2026 à 01:42 UTC
- Auteur
- Kamo
- Commite
- 8ccc308
POST /sessions/-guid-/messages est «Transactionnel», et la publication de la NATS Un message a toujours attendu l'engagement - avec un commentaire disant exactement pourquoi: la publication à l'intérieur des courses de la transaction est la lecture de la ligne. Les deux annonces STOMP dix lignes en dessous n'ont pas attendu, et ils sont les les uns avec un lecteur à l'autre extrémité. /topic/chat/incoming/-memberId est répondu par un membre sans fenêtre ouverte en OU-disant, ce qui charge l'historique du fil sur une demande distincte; cette lecture parvient régulièrement à la base de données avant l'expéditeur est engagé, donc la fenêtre a volé ouverte en tenant tout sauf le message qui l'avait ouvert, et resta mal jusqu'à ce que quelque chose relue le fil. Clôture et la réouverture de la fenêtre était la solution de contournement, c'est la manière dont elle a été signalée. /topic/chat/unread/-memberId-sents with the mirror-image problem: a le nombre d'un message qu'aucune autre demande ne peut encore voir. Les deux sont maintenant exécutés en runAfterCommit(), enregistré après la synchronisation NATS donc une fenêtre déjà ouverte obtient toujours le message d'abord et le badge en second. Le les identifiants du destinataire et leurs ids sont résolus avant l'enregistrement, tandis que les entités sont toujours attachées; les charges utiles étaient déjà des valeurs claires. AnnoncerAfterCommandRatchetDepisille-tête en apposant les régions post-commitanées et exigeant que les deux sujets tombent à l'intérieur d'un, donc la prochaine annonce a été ajoutée Il faut ici faire le choix délibérément plutôt qu'en copiant la ligne la plus proche. Il échoue sur les deux lignes, ce mouvement d'engagement.