diff --git a/modules/cpr/src/main/java/org/atmosphere/cpr/AtmosphereResourceImpl.java b/modules/cpr/src/main/java/org/atmosphere/cpr/AtmosphereResourceImpl.java index fc4d0c7a517..9d361a29aef 100644 --- a/modules/cpr/src/main/java/org/atmosphere/cpr/AtmosphereResourceImpl.java +++ b/modules/cpr/src/main/java/org/atmosphere/cpr/AtmosphereResourceImpl.java @@ -841,10 +841,15 @@ private void unregister() { public void _destroy() { try { + // TODO: Remove with Atmosphere 3 + // Legacy https://github.com/Atmosphere/atmosphere/issues/1885 + Broadcaster b = getBroadcaster(); if (!isCancelled.get()) { removeFromAllBroadcasters(); } broadcasters.clear(); + + broadcasters.add(b); unregister(); removeEventListeners(); } catch (Throwable t) {