public class DefaultMetaBroadcaster extends java.lang.Object implements MetaBroadcaster
Broadcasters based on their Broadcaster.getID() value.
This class allows broadcasting events to a set of broadcasters that maps to some String like:
// Broadcast the event to all Broadcaster ID starting with /hello
broadcast("/hello", event)
// Broadcast the event to all Broadcaster ID
broaccast("/*", event);
The rule used is similar to path/URI mapping used by technology like Servlet, Jersey, etc.
NOTE: Broadcasters' name must start with / in order to get retrieved by this class.
This class is NOT thread safe.
If you want to use MetaBroadcaster with Jersey or any framework, make sure all Broadcaster.getID()
starts with '/'. For example, with Jersey:
MetaBroadcaster.MetaBroadcasterCache, MetaBroadcaster.NoCache, MetaBroadcaster.ThirtySecondsCache| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
MAPPING_REGEX |
| Constructor and Description |
|---|
DefaultMetaBroadcaster() |
| Modifier and Type | Method and Description |
|---|---|
MetaBroadcaster |
addBroadcasterListener(BroadcasterListener b)
Add a
BroadcasterListener to all mapped Broadcasters. |
protected org.atmosphere.cpr.DefaultMetaBroadcaster.MetaBroadcasterFuture |
broadcast(java.lang.String path,
java.lang.Object message,
int time,
java.util.concurrent.TimeUnit unit,
boolean delay,
boolean cacheMessage) |
java.util.concurrent.Future<java.util.List<Broadcaster>> |
broadcastTo(java.lang.String broadcasterID,
java.lang.Object message)
Broadcast the message to all Broadcasters whose
Broadcaster.getID() matches the broadcasterID value. |
java.util.concurrent.Future<java.util.List<Broadcaster>> |
broadcastTo(java.lang.String broadcasterID,
java.lang.Object message,
boolean cacheMessage)
Broadcast the message to all Broadcasters whose
Broadcaster.getID() matches the broadcasterID value. |
MetaBroadcaster |
cache(MetaBroadcaster.MetaBroadcasterCache cache)
Set the
MetaBroadcaster.MetaBroadcasterCache. |
void |
configure(AtmosphereConfig config)
Configure an AtmosphereFramework object.
|
java.util.concurrent.Future<java.util.List<Broadcaster>> |
delayTo(java.lang.String broadcasterID,
java.lang.Object message,
int time,
java.util.concurrent.TimeUnit unit)
Delay the message delivery to Broadcasters whose
Broadcaster.getID()
matches the broadcasterID value. |
void |
destroy() |
protected MetaBroadcaster |
flushCache()
Flush the cached messages.
|
protected org.atmosphere.cpr.DefaultMetaBroadcaster.MetaBroadcasterFuture |
map(java.lang.String path,
java.lang.Object message,
int time,
java.util.concurrent.TimeUnit unit,
boolean delay,
boolean cacheMessage) |
MetaBroadcaster |
removeBroadcasterListener(BroadcasterListener b)
Remove the
BroadcasterListener. |
java.util.concurrent.Future<java.util.List<Broadcaster>> |
scheduleTo(java.lang.String broadcasterID,
java.lang.Object message,
int time,
java.util.concurrent.TimeUnit unit)
Broadcast the message at a fixed rate to all Broadcasters whose
Broadcaster.getID()
matches the broadcasterID value. |
public static final java.lang.String MAPPING_REGEX
public void configure(AtmosphereConfig config)
AtmosphereConfigAwareconfigure in interface AtmosphereConfigAwareconfig - AtmosphereConfigprotected org.atmosphere.cpr.DefaultMetaBroadcaster.MetaBroadcasterFuture broadcast(java.lang.String path,
java.lang.Object message,
int time,
java.util.concurrent.TimeUnit unit,
boolean delay,
boolean cacheMessage)
protected org.atmosphere.cpr.DefaultMetaBroadcaster.MetaBroadcasterFuture map(java.lang.String path,
java.lang.Object message,
int time,
java.util.concurrent.TimeUnit unit,
boolean delay,
boolean cacheMessage)
public java.util.concurrent.Future<java.util.List<Broadcaster>> broadcastTo(java.lang.String broadcasterID, java.lang.Object message)
MetaBroadcasterBroadcaster.getID() matches the broadcasterID value.broadcastTo in interface MetaBroadcasterbroadcasterID - a String (or path) that can potentially match a Broadcaster.getID()message - a message to be broadcastedpublic java.util.concurrent.Future<java.util.List<Broadcaster>> broadcastTo(java.lang.String broadcasterID, java.lang.Object message, boolean cacheMessage)
MetaBroadcasterBroadcaster.getID() matches the broadcasterID value.broadcastTo in interface MetaBroadcasterbroadcasterID - a String (or path) that can potentially match a Broadcaster.getID()message - a message to be broadcastedcacheMessage - allow the cache to be cached or not.protected MetaBroadcaster flushCache()
public java.util.concurrent.Future<java.util.List<Broadcaster>> scheduleTo(java.lang.String broadcasterID, java.lang.Object message, int time, java.util.concurrent.TimeUnit unit)
MetaBroadcasterBroadcaster.getID()
matches the broadcasterID value. This operation will invoke Broadcaster.scheduleFixedBroadcast(Object, long, java.util.concurrent.TimeUnit)}scheduleTo in interface MetaBroadcasterbroadcasterID - a String (or path) that can potentially match a Broadcaster.getID()message - a message to be broadcastedtime - a time valueunit - a TimeUnitpublic java.util.concurrent.Future<java.util.List<Broadcaster>> delayTo(java.lang.String broadcasterID, java.lang.Object message, int time, java.util.concurrent.TimeUnit unit)
MetaBroadcasterBroadcaster.getID()
matches the broadcasterID value. This operation will invoke Broadcaster.delayBroadcast(Object, long, java.util.concurrent.TimeUnit) (Object, long, java.util.concurrent.TimeUnit)}}delayTo in interface MetaBroadcasterbroadcasterID - a String (or path) that can potentially match a Broadcaster.getID()message - a message to be broadcastedtime - a time valueunit - a TimeUnitpublic MetaBroadcaster addBroadcasterListener(BroadcasterListener b)
MetaBroadcasterBroadcasterListener to all mapped Broadcasters.addBroadcasterListener in interface MetaBroadcasterb - BroadcasterListenerpublic MetaBroadcaster removeBroadcasterListener(BroadcasterListener b)
MetaBroadcasterBroadcasterListener.removeBroadcasterListener in interface MetaBroadcasterb - BroadcasterListenerpublic MetaBroadcaster cache(MetaBroadcaster.MetaBroadcasterCache cache)
MetaBroadcasterMetaBroadcaster.MetaBroadcasterCache. Default is MetaBroadcaster.NoCache.cache in interface MetaBroadcasterpublic void destroy()
destroy in interface MetaBroadcasterCopyright © 2024. All Rights Reserved.