Class LockingConfiguration
- java.lang.Object
-
- org.infinispan.commons.configuration.attributes.ConfigurationElement<LockingConfiguration>
-
- org.infinispan.configuration.cache.LockingConfiguration
-
- All Implemented Interfaces:
Matchable<LockingConfiguration>
,Updatable<LockingConfiguration>
public class LockingConfiguration extends ConfigurationElement<LockingConfiguration>
Defines the local, in-VM locking and concurrency characteristics of the cache.- Author:
- pmuir
-
-
Field Summary
Fields Modifier and Type Field Description static AttributeDefinition<Integer>
CONCURRENCY_LEVEL
static AttributeDefinition<IsolationLevel>
ISOLATION_LEVEL
static AttributeDefinition<Long>
LOCK_ACQUISITION_TIMEOUT
static AttributeDefinition<Boolean>
USE_LOCK_STRIPING
-
Fields inherited from class org.infinispan.commons.configuration.attributes.ConfigurationElement
attributes, CHILDLESS, children, element, repeated
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
concurrencyLevel()
Concurrency level for lock containers.IsolationLevel
isolationLevel()
Cache isolation level.long
lockAcquisitionTimeout()
Maximum time to attempt a particular lock acquisitionLockingConfiguration
lockAcquisitionTimeout(long timeout)
boolean
useLockStriping()
If true, a pool of shared locks is maintained for all entries that need to be locked.-
Methods inherited from class org.infinispan.commons.configuration.attributes.ConfigurationElement
attributes, child, children, children, elementName, equals, findAttribute, hashCode, isModified, list, matches, toString, update, validateUpdate, write
-
-
-
-
Field Detail
-
CONCURRENCY_LEVEL
public static final AttributeDefinition<Integer> CONCURRENCY_LEVEL
-
ISOLATION_LEVEL
public static final AttributeDefinition<IsolationLevel> ISOLATION_LEVEL
-
LOCK_ACQUISITION_TIMEOUT
public static final AttributeDefinition<Long> LOCK_ACQUISITION_TIMEOUT
-
USE_LOCK_STRIPING
public static final AttributeDefinition<Boolean> USE_LOCK_STRIPING
-
-
Method Detail
-
concurrencyLevel
public int concurrencyLevel()
Concurrency level for lock containers. Adjust this value according to the number of concurrent threads interacting with Infinispan. Similar to the concurrencyLevel tuning parameter seen in the JDK's ConcurrentHashMap.
-
isolationLevel
public IsolationLevel isolationLevel()
Cache isolation level. Infinispan only supports READ_COMMITTED or REPEATABLE_READ isolation levels. See http://en.wikipedia.org/wiki/Isolation_level for a discussion on isolation levels.
-
lockAcquisitionTimeout
public long lockAcquisitionTimeout()
Maximum time to attempt a particular lock acquisition
-
lockAcquisitionTimeout
public LockingConfiguration lockAcquisitionTimeout(long timeout)
-
useLockStriping
public boolean useLockStriping()
If true, a pool of shared locks is maintained for all entries that need to be locked. Otherwise, a lock is created per entry in the cache. Lock striping helps control memory footprint but may reduce concurrency in the system.
-
-