- Shipped
- 4. September 2026 um 20:02 UTC
- Author
- Kamo
- Commit
- 6c253b6
Ein langlebiger Push-Konsum gibt genau EIN Abonnent zu. Die zweite Hülse, um den gleichen Namen zu binden ist abgelehnt mit [SUB-90012] Verbraucher ist bereits an ein Abonnement gebunden, und nichts retries. ChatSessionAAbonnementManager benennt seine langlebige nach der Chat-Sitzung GUID, so mit zwei MediaService pods, wer ein Gespräch zuerst gebunden würde es still besitzen und jedes Mitglied deren WebSocket auf der anderen pod landete würde nichts erhalten - keine Nachrichten, keine Lesequittungen, nein Mitglieder-Added-Ereignisse, kein Fehler. Diese einzelne Eigenschaft ist der Grund, warum MediaService an eine festgepeinsiert wurde Replik, und warum eine Entfaltung davon ist ein totaler Chat-Empfehlung und nicht ein Rollover. abonnementEphemeral() erstellt stattdessen einen ungenannten Verbraucher. Es gibt keine Cross-Pod-Identität zu kollidieren über, so erhält jede Hülse jede Nachricht und Fans an seine eigenen STOMP-Clients - das ist, was die in-Heife einfache Broker erfordert. Es hält den FilterSubject der langlebige Pfad gelernt, um zu setzen (ein leerer Filter verbraucht den gesamten Strom), und fügt eine inaktiveThreshold so eine Hülse, die SIGKILLed ist ohne unsubscribing lässt seinen Verbraucher nicht für immer auf dem Strom. Keine Verhaltensänderung für bestehende Anrufer: subscribe() ist unberührt, und die Lieferschleife ist beides Pfade verwenden ist jetzt eine Methode, so dass sie nicht driften können. Ephemerale Verbraucher spielen keine veröffentlichten Nachrichten wieder, während nichts abonniert wurde. Auch die langlebige - beide verwenden DeliverPolicy.Neu - so ist dies keine Regression.