Annunciare un messaggio solo una volta che può essere letto

FixMediaService
Spegnimento
2 settembre 2026 alle ore 01:42 UTC
Autore
Kamo
Impegno
8ccc308

POST /sessions/{guid}/messages è @Transactional, e la pubblicazione NATS del il messaggio ha sempre aspettato per il commit — con un commento dicendo esattamente perché: l'editoria all'interno della transazione corre la propria lettura della riga del destinatario. I due annunci STOMP dieci righe sotto non ha aspettato, e sono i quelli con un lettore dall'altra parte. /topic/chat/incoming/{memberId} risponde da un membro senza finestra aperta da OPENING uno, che carica la storia del thread su una richiesta separata; che leggeva regolarmente raggiunto il database prima della commit del mittente, così la finestra è volata aperta tenendo tutto tranne il messaggio che l'aveva aperta, e rimase storto fino a che qualcosa rileggesse il filo. Chiusura e riaprire la finestra era il lavoro, che è come è stato segnalato. /topic/chat/unread/{memberId} cavalca con esso e ha avuto il problema di immagine dello specchio: un conteggio di un messaggio nessun'altra richiesta potrebbe ancora vedere. Entrambi ora eseguire in runAfterCommit(), registrato dopo la sincronizzazione NATS così una finestra già aperta riceve ancora il messaggio prima e il distintivo secondo. The ids destinatari e loro org sono risolti prima della registrazione, mentre le entità sono ancora attaccate; i carichi di paga erano già valori semplici. AnnuncioAfterCommitRatchet Perni di prova con brace-matching le regioni post-commit e che richiedono entrambi gli argomenti per cadere in uno, così il prossimo annuncio aggiunto qui deve fare la scelta deliberatamente piuttosto che copiando la linea più vicina. Non funziona sulle due linee che questo commit si muove.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo