Small comments about dataCache namespace classes in code: The interface org.apache.openjpa.datacache.DataCacheManagershould not have a method getDataCacheScheduler(). That method should be on another interface becuase caching does not imply scheduling eviction.
In general I wish there was a better separation between the L2 cache interface and the L2 cache implementation in openjpa. The 2 are often mixed at the moment and separating the 2 would, I think, help the dev undertsand the differences better. It would have helped implement nice and clean L2 plugins... For example - but there are tons of example like that : There is the public abstract class AbstractDataCache extends AbstractConcurrentEventManager. When a better design would have been: public abstract class AbstractDataCache implement DataCache and public abstract class AbstractDataCacheWithEvent extends AbstractDataCache implement AbstractConcurrentEventManager F