Initial commit

This commit is contained in:
Pit Friedrich
2026-10-11 17:45:06 +02:00
commit d9a9647742
43 changed files with 3723 additions and 0 deletions
@@ -0,0 +1,23 @@
package com.example.leakdemo;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.function.Consumer;
/** Classic Vaadin broadcaster. Fine by itself, leaks when listeners are never removed. */
public final class Broadcaster {
private static final List<Consumer<String>> LISTENERS = new CopyOnWriteArrayList<>();
private Broadcaster() {
}
public static Runnable register(Consumer<String> listener) {
LISTENERS.add(listener);
return () -> LISTENERS.remove(listener);
}
public static void broadcast(String message) {
LISTENERS.forEach(l -> l.accept(message));
}
}