Package org.atmosphere.pool
Class PoolableBroadcasterFactory
- java.lang.Object
-
- org.atmosphere.cpr.DefaultBroadcasterFactory
-
- org.atmosphere.pool.PoolableBroadcasterFactory
-
- All Implemented Interfaces:
BroadcasterFactory
public class PoolableBroadcasterFactory extends DefaultBroadcasterFactory
This class uses aPoolableProviderto retrieve instance ofBroadcaster. 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. SettrackPooledBroadcaster(boolean)orApplicationConfig.SUPPORT_TRACKED_BROADCASTERto true to track duplication but be aware it can significantly reduce performance. Use theDefaultBroadcasterFactoryis recommended under that scenario. By default, this factory doesn't keep trace of created Broadcasters hence a new pooled Broadcaster will always be returned unlesstrackPooledBroadcaster(boolean)orApplicationConfig.SUPPORT_TRACKED_BROADCASTERis set to true. This Factory has been designed for application. This factory is usefull when an application needs a short-livedBroadcaster.- Author:
- Jeanfrancois Arcand
-
-
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 Constructor Description PoolableBroadcasterFactory()PoolableBroadcasterFactory(java.lang.Class<? extends Broadcaster> clazz, java.lang.String broadcasterLifeCyclePolicy, AtmosphereConfig c)Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanadd(Broadcaster b, java.lang.Object id)Add aBroadcasterto the list.protected voidconfigure(java.lang.String broadcasterLifeCyclePolicy)BroadcastercreateBroadcaster()Broadcasterget()Return an instance of the defaultBroadcaster.<T extends Broadcaster>
Tlookup(java.lang.Class<T> c, java.lang.Object id, boolean createIfNull, boolean unique)java.util.Collection<Broadcaster>lookupAll()Return an immutable Collection ofBroadcasterthis factory contains.PoolableProvider<? extends Broadcaster,?>poolableProvider()The currentPoolableProviderPoolableBroadcasterFactorypoolableProvider(PoolableProvider<? extends Broadcaster,?> poolableProvider)Set the implementation ofPoolableProviderbooleanremove(java.lang.Object id)Remove the associatedBroadcaster.booleanremove(Broadcaster b, java.lang.Object id)Remove aBroadcasterfrom the list.voidremoveAllAtmosphereResource(AtmosphereResource r)Remove all instances ofAtmosphereResourcefrom all registeredBroadcasters.booleantrackPooledBroadcaster()Return true isBroadcasterinstance are tracked, e.g stored in a Collection for duplicate id.PoolableBroadcasterFactorytrackPooledBroadcaster(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, removeBroadcasterListener
-
-
-
-
Constructor Detail
-
PoolableBroadcasterFactory
public PoolableBroadcasterFactory()
-
PoolableBroadcasterFactory
@Deprecated public PoolableBroadcasterFactory(java.lang.Class<? extends Broadcaster> clazz, java.lang.String broadcasterLifeCyclePolicy, AtmosphereConfig c)
Deprecated.
-
-
Method Detail
-
configure
protected void configure(java.lang.String broadcasterLifeCyclePolicy)
- Overrides:
configurein classDefaultBroadcasterFactory
-
get
public Broadcaster 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
public boolean add(Broadcaster b, java.lang.Object id)
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
public boolean remove(Broadcaster b, java.lang.Object id)
Description copied from interface:BroadcasterFactoryRemove aBroadcasterfrom the list.- Specified by:
removein interfaceBroadcasterFactory- Overrides:
removein classDefaultBroadcasterFactory- Parameters:
b- aBroadcasterid- the {@link Broadcaster's ID}- Returns:
- false if wasn't present, or
Broadcaster
-
lookup
public <T extends Broadcaster> T lookup(java.lang.Class<T> c, java.lang.Object id, boolean createIfNull, boolean unique)
- Overrides:
lookupin classDefaultBroadcasterFactory
-
removeAllAtmosphereResource
public void removeAllAtmosphereResource(AtmosphereResource r)
Description copied from interface:BroadcasterFactoryRemove all instances ofAtmosphereResourcefrom all registeredBroadcasters.- Specified by:
removeAllAtmosphereResourcein interfaceBroadcasterFactory- Overrides:
removeAllAtmosphereResourcein classDefaultBroadcasterFactory- Parameters:
r- an voidAtmosphereResource
-
remove
public boolean remove(java.lang.Object id)
Description copied from interface:BroadcasterFactoryRemove the associatedBroadcaster.- Specified by:
removein interfaceBroadcasterFactory- Overrides:
removein classDefaultBroadcasterFactory
-
lookupAll
public java.util.Collection<Broadcaster> 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
public Broadcaster createBroadcaster()
-
trackPooledBroadcaster
public PoolableBroadcasterFactory trackPooledBroadcaster(boolean 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
public PoolableProvider<? extends Broadcaster,?> 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
-
-