EHC ❯ RMICachePeer: CacheEventListener must be CacheReplicator
-
Bug
-
Status: Closed
-
-
Resolution: Fixed
-
-
-
drb
-
Reporter: sourceforgetracker
-
September 21, 2009
-
0
-
Watchers: 0
-
September 22, 2009
-
September 22, 2009
Description
RMIAsynchronousCacheReplicator and RMISynchronousCacheReplicator implement CacheEventListener as a CacheReplicator. They use RMICachePeer to handle the notifications. The problem is that when RMICachePeer receives a notification to put or remove an Element it intentionally does not call the local CacheEventListeners. This is to prevent circular notifications to CacheReplicators. But, it does not allow a CacheEventListener to not be a CacheReplicator. With this RMI implementation all CacheEventListeners whether they extend RMISynchronousCacheReplicator or are an additional configured CacheEventListener receive notifications only when a cache change is made directly to the Cache. They do not receive notifications from a CachePeer. This essentially makes all CacheEventListeners CacheReplicators.
A way to correct this is to separate the concerns of
Cache replication from Cache event listening. This
could be be done by Cache having a list of
CacheReplicatorFactorys separate from a list of
CacheEventListenerFactorys. CacheReplicators are not
notified of Cache changes from remote peers.
CacheEventListeners are notified of Cache changes
regardless of where they were initiated.
Sourceforge Ticket ID: 1480027 - Opened By: amcnutt - 1 May 2006 21:14 UTC
Re-opening so that I can properly close out these issues and have correct Resolution status in Jira