public class LateralTCPDiscoveryListener extends Object implements IDiscoveryListener
We can have one listener per region, or one shared by all regions.
Modifier | Constructor and Description |
---|---|
protected |
LateralTCPDiscoveryListener(String factoryName,
CompositeCacheManager cacheManager,
ICacheEventLogger cacheEventLogger,
IElementSerializer elementSerializer)
This plugs into the udp discovery system.
|
protected |
LateralTCPDiscoveryListener(String factoryName,
ICompositeCacheManager cacheManager)
Deprecated.
Use constructor with four parameters
|
Modifier and Type | Method and Description |
---|---|
void |
addDiscoveredService(DiscoveredService service)
Creates the lateral cache if needed.
|
protected <K,V> boolean |
addNoWait(LateralCacheNoWait<K,V> noWait)
When a broadcast is received from the UDP Discovery receiver, for each cacheName in the
message, the add no wait will be called here.
|
protected <K,V> boolean |
addNoWait(LateralCacheNoWait<K,V> noWait,
LateralCacheNoWaitFacade<K,V> facade)
When a broadcast is received from the UDP Discovery receiver, for each cacheName in the
message, the add no wait will be called here.
|
boolean |
addNoWaitFacade(String cacheName,
LateralCacheNoWaitFacade<?,?> facade)
Adds a nowait facade under this cachename.
|
<K,V> boolean |
containsNoWait(String cacheName,
LateralCacheNoWait<K,V> noWait)
Allows us to see if the facade is present and if it has the no wait.
|
boolean |
containsNoWaitFacade(String cacheName)
Allows us to see if the facade is present.
|
void |
removeDiscoveredService(DiscoveredService service)
Removes the lateral cache.
|
protected <K,V> boolean |
removeNoWait(LateralCacheNoWait<K,V> noWait)
Look up the facade for the name.
|
protected <K,V> boolean |
removeNoWait(LateralCacheNoWaitFacade<K,V> facade,
String cacheName,
String tcpServer)
Remove the item from the no wait list.
|
@Deprecated protected LateralTCPDiscoveryListener(String factoryName, ICompositeCacheManager cacheManager)
factoryName
- the name of the related cache factorycacheManager
- the global cache managerprotected LateralTCPDiscoveryListener(String factoryName, CompositeCacheManager cacheManager, ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer)
factoryName
- the name of the related cache factorycacheManager
- the global cache managercacheEventLogger
- Reference to the cache event logger for auxiliary cache creationelementSerializer
- Reference to the cache element serializer for auxiliary cache
creationpublic boolean addNoWaitFacade(String cacheName, LateralCacheNoWaitFacade<?,?> facade)
This adds nowaits to a facade for the region name. If the region has no facade, then it is not configured to use the lateral cache, and no facade will be created.
cacheName
- - the region namefacade
- - facade (for region) => multiple lateral clients.public boolean containsNoWaitFacade(String cacheName)
cacheName
- - facades are for a regionpublic <K,V> boolean containsNoWait(String cacheName, LateralCacheNoWait<K,V> noWait)
cacheName
- - facades are for a regionnoWait
- - is this no wait in the facadeprotected <K,V> boolean addNoWait(LateralCacheNoWait<K,V> noWait)
Each region has a facade. The facade contains a list of end points--the other tcp lateral services.
noWait
- protected <K,V> boolean addNoWait(LateralCacheNoWait<K,V> noWait, LateralCacheNoWaitFacade<K,V> facade)
noWait
- the no waitfacade
- the related facadeprotected <K,V> boolean removeNoWait(LateralCacheNoWait<K,V> noWait)
noWait
- protected <K,V> boolean removeNoWait(LateralCacheNoWaitFacade<K,V> facade, String cacheName, String tcpServer)
facade
- cacheName
- tcpServer
- public void addDiscoveredService(DiscoveredService service)
We could go to the composite cache manager and get the cache for the region. This would force a full configuration of the region. One advantage of this would be that the creation of the later would go through the factory, which would add the item to the no wait list. But we don't want to do this. This would force this client to have all the regions as the other. This might not be desired. We don't want to send or receive for a region here that is either not used or not configured to use the lateral.
Right now, I'm afraid that the region will get puts if another instance has the region configured to use the lateral and our address is configured. This might be a bug, but it shouldn't happen with discovery.
addDiscoveredService
in interface IDiscoveryListener
service
- public void removeDiscoveredService(DiscoveredService service)
We need to tell the manager that this instance is bad, so it will reconnect the sender if it comes back.
removeDiscoveredService
in interface IDiscoveryListener
service
- Copyright © 2002–2023 The Apache Software Foundation. All rights reserved.