JBossCacheRegions

This is about JBCACHE-64

 

Motivation

 

To be able to configure caches on a per-region basis.

 

What can be configured per-region?

 

Currently (2.x) available:

 

  • Eviction policies

  • Class loaders

  • State transfer

  • PojoCache scoping

 

For JBCACHE-64 (3.0.0)

 

  • Isolation level (see JBossCacheMVCC)

  • Transactional behaviour

    • REQUIRES_NEW, NONE, etc.

  • Replication (SYNC/ASYNC, INVALIDATION, LOCAL)

  • Cache loading

 

Classes

 

 

Defining regions

 

  • An Fqn can define a Node which is the root of the region

  • Regions within regions allowed

 

Configuration

 

  • Each region to have a Configuration, which inherits from it's parent region (if region is within a region) or the cache-wide default (copies it)

  • Some elements may be dynamic

    • If changing on the fly, acquire an exclusive lock on all nodes in the region (and any sub-regions)

    • Update interceptors on all nodes in the region accordingly

    • Release exclusive locks

      • Any eviction policy updates in a region will reset eviction queues!