Package org.atmosphere.cpr
Interface MetaBroadcaster
- All Superinterfaces:
AtmosphereConfigAware
- All Known Implementing Classes:
DefaultMetaBroadcaster
Broadcast events to all or a subset of available
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:
- Author:
- Jeanfrancois Arcand
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceCache message if noBroadcastermaps thebroadcastTo(String, Object)static final classstatic final classFlush the cache every 30 seconds. -
Method Summary
Modifier and TypeMethodDescriptionAdd aBroadcasterListenerto all mappedBroadcasters.broadcastTo(String broadcasterID, Object message) Broadcast the message to all Broadcasters whoseBroadcaster.getID()matches the broadcasterID value.broadcastTo(String broadcasterID, Object message, boolean cacheMessage) Broadcast the message to all Broadcasters whoseBroadcaster.getID()matches the broadcasterID value.Set theMetaBroadcaster.MetaBroadcasterCache.Delay the message delivery to Broadcasters whoseBroadcaster.getID()matches the broadcasterID value.voiddestroy()Remove theBroadcasterListener.scheduleTo(String broadcasterID, Object message, int time, TimeUnit unit) Broadcast the message at a fixed rate to all Broadcasters whoseBroadcaster.getID()matches the broadcasterID value.Methods inherited from interface org.atmosphere.inject.AtmosphereConfigAware
configure
-
Method Details
-
broadcastTo
Broadcast the message to all Broadcasters whoseBroadcaster.getID()matches the broadcasterID value.- Parameters:
broadcasterID- a String (or path) that can potentially match aBroadcaster.getID()message- a message to be broadcasted- Returns:
- a Future
-
broadcastTo
Broadcast the message to all Broadcasters whoseBroadcaster.getID()matches the broadcasterID value.- Parameters:
broadcasterID- a String (or path) that can potentially match aBroadcaster.getID()message- a message to be broadcastedcacheMessage- allow the cache to be cached or not.- Returns:
- a Future
-
scheduleTo
Broadcast the message at a fixed rate to all Broadcasters whoseBroadcaster.getID()matches the broadcasterID value. This operation will invokeBroadcaster.scheduleFixedBroadcast(Object, long, java.util.concurrent.TimeUnit)}- Parameters:
broadcasterID- a String (or path) that can potentially match aBroadcaster.getID()message- a message to be broadcastedtime- a time valueunit- aTimeUnit- Returns:
- a Future
-
delayTo
Delay the message delivery to Broadcasters whoseBroadcaster.getID()matches the broadcasterID value. This operation will invokeBroadcaster.delayBroadcast(Object, long, java.util.concurrent.TimeUnit)(Object, long, java.util.concurrent.TimeUnit)}}- Parameters:
broadcasterID- a String (or path) that can potentially match aBroadcaster.getID()message- a message to be broadcastedtime- a time valueunit- aTimeUnit- Returns:
- a Future
-
addBroadcasterListener
Add aBroadcasterListenerto all mappedBroadcasters.- Parameters:
b-BroadcasterListener- Returns:
- this
-
removeBroadcasterListener
Remove theBroadcasterListener.- Parameters:
b-BroadcasterListener- Returns:
- this
-
cache
Set theMetaBroadcaster.MetaBroadcasterCache. Default isMetaBroadcaster.NoCache.- Parameters:
cache-- Returns:
- this
-
destroy
void destroy()
-