The spring caching is set up to evict the cache on certain operations if they are configured as such. We annotate on the interfaces, so that means when we load a client-side service, it creates the client-side cache for us. However, i suspect that when someone makes an "update" operation via the service, the eviction gets handled on the client-side (I could be wrong about this, we need to look into it a little bit more). This means the client application making the change would be sending eviction messages to all listening applications on the bus instead of forwarding to the server to have it process evictions. Additionally, this would likely mean that cache eviction happens twice, once when the eviction is processed on the client and once on the server (not good).
We need to determine if this is actually happening this way in the new Rice caching architecture and figure out a solution if it is.