entity
and
collection
data.See: Description
Interface | Description |
---|---|
CollectionRegionAccessStrategy |
Contract for managing transactional and concurrent access to cached collection
data.
|
EntityRegionAccessStrategy |
Contract for managing transactional and concurrent access to cached entity
data.
|
NaturalIdRegionAccessStrategy |
Contract for managing transactional and concurrent access to cached naturalId
data.
|
RegionAccessStrategy |
Base access strategy for all regions.
|
SoftLock |
Marker object for use by synchronous concurrency strategies
|
Enum | Description |
---|---|
AccessType |
The types of access strategies available.
|
Exception | Description |
---|---|
UnknownAccessTypeException |
Indicates that an unknown AccessType external name was encountered
|
Defines contracts for transactional and concurrent access to cached
entity
and
collection
data. Transactions pass in a
timestamp indicating transaction start time which is then used to protect against concurrent access (exactly how
that occurs is based on the actual access-strategy impl used). Two different implementation patterns are provided
for:
read-only
,
read-write
and
nonstrict-read-write
. The only
synchronous access strategy is transactional
.
Note that, for an asynchronous cache, cache invalidation must be a two step process (lock->unlock or
lock->afterUpdate), since this is the only way to guarantee consistency with the database for a nontransactional
cache implementation. For a synchronous cache, cache invalidation is a single step process (evict or update).
Hence, these contracts (EntityRegionAccessStrategy
and
CollectionRegionAccessStrategy
) define a three step process to cater for both
models (see the individual contracts for details).
Note that query result caching does not go through an access strategy; those caches are managed directly against
the underlying QueryResultsRegion
.
Copyright © 2017 JBoss by Red Hat. All rights reserved.