Package org.atmosphere.pool
Class PoolableBroadcasterFactory
java.lang.Object
org.atmosphere.cpr.DefaultBroadcasterFactory
org.atmosphere.pool.PoolableBroadcasterFactory
- All Implemented Interfaces:
BroadcasterFactory
This class uses a
PoolableProvider to retrieve instance of Broadcaster. This class
doesn't validate the id of the Broadcaster [Broadcaster.setID(String)] and can return a Broadcaster
with was already created under that name. Set trackPooledBroadcaster(boolean) or ApplicationConfig.SUPPORT_TRACKED_BROADCASTER to true to track duplication but
be aware it can significantly reduce performance. Use the DefaultBroadcasterFactory is recommended
under that scenario.
By default, this factory doesn't keep trace of created Broadcasters hence a new pooled Broadcaster will always
be returned unless trackPooledBroadcaster(boolean) or ApplicationConfig.SUPPORT_TRACKED_BROADCASTER
is set to true.
This Factory has been designed for application.
This factory is usefull when an application needs a short-lived Broadcaster.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.atmosphere.cpr.BroadcasterFactory
BroadcasterFactory.BroadcasterCreationException -
Field Summary
Fields inherited from class org.atmosphere.cpr.DefaultBroadcasterFactory
broadcasterListeners, clazz, config, defaultPolicy, defaultPolicyInteger, legacyBroadcasterURI, lifeCycleListener, policy, store -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanadd(Broadcaster b, Object id) Add aBroadcasterto the list.protected voidget()Return an instance of the defaultBroadcaster.<T extends Broadcaster>
TReturn an immutable Collection ofBroadcasterthis factory contains.The currentPoolableProviderpoolableProvider(PoolableProvider<? extends Broadcaster, ?> poolableProvider) Set the implementation ofPoolableProviderbooleanRemove the associatedBroadcaster.booleanremove(Broadcaster b, Object id) Remove aBroadcasterfrom the list.booleanReturn true isBroadcasterinstance are tracked, e.g stored in a Collection for duplicate id.trackPooledBroadcaster(boolean trackPooledBroadcaster) Set to true to enable tracking ofBroadcaster.getID()duplication.Methods inherited from class org.atmosphere.cpr.DefaultBroadcasterFactory
addBroadcasterListener, broadcasterListeners, configure, createBroadcaster, destroy, get, get, lookup, lookup, lookup, lookup, notifyOnPostCreate, removeBroadcasterListenerMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.atmosphere.cpr.BroadcasterFactory
findBroadcaster
-
Constructor Details
-
PoolableBroadcasterFactory
public PoolableBroadcasterFactory()
-
-
Method Details
-
configure
- Overrides:
configurein classDefaultBroadcasterFactory
-
get
Description copied from interface:BroadcasterFactoryReturn an instance of the defaultBroadcaster. The name of the Broadcaster will be randomly generated.- Specified by:
getin interfaceBroadcasterFactory- Overrides:
getin classDefaultBroadcasterFactory- Returns:
- an instance of the default
Broadcaster
-
add
Description copied from interface:BroadcasterFactoryAdd aBroadcasterto the list.- Specified by:
addin interfaceBroadcasterFactory- Overrides:
addin classDefaultBroadcasterFactory- Parameters:
b- aBroadcaster- Returns:
- false if a with the same name
Broadcasterwas already stored
-
remove
Description copied from interface:BroadcasterFactoryRemove aBroadcasterfrom the list.- Specified by:
removein interfaceBroadcasterFactory- Overrides:
removein classDefaultBroadcasterFactory- Parameters:
b- aBroadcasterid- theID}invalid @link
{@link Broadcaster's- Returns:
- false if wasn't present, or
Broadcaster
-
lookup
public <T extends Broadcaster> T lookup(Class<T> c, Object id, boolean createIfNull, boolean unique) - Overrides:
lookupin classDefaultBroadcasterFactory
-
remove
Description copied from interface:BroadcasterFactoryRemove the associatedBroadcaster.- Specified by:
removein interfaceBroadcasterFactory- Overrides:
removein classDefaultBroadcasterFactory
-
lookupAll
Description copied from interface:BroadcasterFactoryReturn an immutable Collection ofBroadcasterthis factory contains.- Specified by:
lookupAllin interfaceBroadcasterFactory- Overrides:
lookupAllin classDefaultBroadcasterFactory- Returns:
- an immutable Collection of
Broadcasterthis factory contains.
-
createBroadcaster
-
trackPooledBroadcaster
Set to true to enable tracking ofBroadcaster.getID()duplication. Enabling this feature will significantly reduce the performance of thePoolableProvider. Use theDefaultBroadcasterFactoryif you need to track's duplication.- Parameters:
trackPooledBroadcaster-- Returns:
-
trackPooledBroadcaster
public boolean trackPooledBroadcaster()Return true isBroadcasterinstance are tracked, e.g stored in a Collection for duplicate id.- Returns:
Broadcasterinstance are tracked, e.g stored in a Collection for duplicate id.
-
poolableProvider
The currentPoolableProvider- Returns:
- current
PoolableProvider
-
poolableProvider
public PoolableBroadcasterFactory poolableProvider(PoolableProvider<? extends Broadcaster, ?> poolableProvider) Set the implementation ofPoolableProvider- Parameters:
poolableProvider- the implementation ofPoolableProvider- Returns:
- this
-