As part of
KNL-1162, I am working on removing the direct bindings to Ehcache from the various caches in Sakai core and moving the kernel (and the rest of the core) towards JSR-107 compliance. As part of this effort I noticed that some caches use Ehcache directly (like org.sakaiproject.site.impl.SiteCacheImpl). For this case it looks like it was mainly to get access to Ehcache notifications via CacheEventListener. This appears to be because some of the cached data is replicated into a series of maps (m_tools, m_pages, m_groups) which then have to be manually cleared when the data is flushed.
That code originated in https://jira.sakaiproject.org/browse/KNL-652
This strategy of partly caching some data in the local object in maps is incompatible with modern caching systems and distributed caching. In order to move Sakai towards better support for scaling this strategy has to change.