Zum Hauptinhalt springen
Echtzeit-Radar & Feeds
Alle RSS Feeds ➔
👥 Community & Social
••••
Reverse EngineeringReverse-engineered 8BitDo firmware encryption(27.09.2026 um 01:18 Uhr)
••••
Sichere ProgrammierungHow Hindsight Turned Deployment #1017 Into the Fix for #1057(29.09.2026 um 06:25 Uhr)
••••••
Reverse EngineeringReverse-engineered 8BitDo firmware encryption(27.09.2026 um 01:18 Uhr)
••••
Sichere ProgrammierungHow Hindsight Turned Deployment #1017 Into the Fix for #1057(29.09.2026 um 06:25 Uhr)
••
Intelligence View
⚡ tsecurity.de Intelligence

EventBus

import java.util.List; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; // Concrete EventBus implementation public class SimpleEventBus<T> implements MyEventBus<T> { private…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!


import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;

// Concrete EventBus implementation
public class SimpleEventBus<T> implements MyEventBus<T> {

private final ConcurrentHashMap<String, List<MyEventListener<T>>> listenersMap = new ConcurrentHashMap<>();

// Publish an event to all listeners of a source
public void push(String source, T event) {
List<MyEventListener<T>> listeners = listenersMap.get(source);
if (listeners != null && !listeners.isEmpty()) {
for (MyEventListener<T> listener : listeners) {
try {
listener.onEvent(source, event);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}

// Get number of subscribers for a source
public int getSubscriberCount(String source) {
List<MyEventListener<T>> listeners = listenersMap.get(source);
return (listeners == null) ? 0 : listeners.size();
}

@Override
public void subscribe(String source, MyEventListener<T> listener) {
listenersMap.computeIfAbsent(source, key -> new CopyOnWriteArrayList<>()).add(listener);
}

@Override
public void unsubscribe(String source, MyEventListener<T> listener) {
listenersMap.computeIfPresent(source, (key, list) -> {
list.remove(listener);
return list.isEmpty() ? null : list;
});
}
}






အထက်ပေါ်ပြပါ EventBus မှာ Guava ၏ EventBus နှင့်ဆင်တူသော EventBus implementation ဖြစ်သည်။ အထူးတလည်ပင်ရှင်းပြရန်မလိုပေ။




class MessageListener implements MyEventListener<Message> {
private final String name;

public MessageListener(String name) { this.name = name; }

@Override
public void onEvent(String source, Message event) {
System.out.println(name + " received from [" + source + "]: " + event.getText());
}
}


Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten EventBus

Thematisch verwandte Begriffe: EventBus · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

💬 Kommentare werden geladen…
Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-102367 | mall4j through 4.0 contains an insufficient session expiration vulnerab…
Advisory →
tsecurity.de Icon
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag