Class LockingConfiguration
- java.lang.Object
-
- org.infinispan.commons.configuration.attributes.ConfigurationElement<LockingConfiguration>
-
- org.infinispan.configuration.cache.LockingConfiguration
-
- All Implemented Interfaces:
org.infinispan.commons.configuration.attributes.Matchable<LockingConfiguration>
,org.infinispan.commons.configuration.attributes.Updatable<LockingConfiguration>
public class LockingConfiguration extends org.infinispan.commons.configuration.attributes.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 org.infinispan.commons.configuration.attributes.AttributeDefinition<Integer>
CONCURRENCY_LEVEL
static org.infinispan.commons.configuration.attributes.AttributeDefinition<org.infinispan.util.concurrent.IsolationLevel>
ISOLATION_LEVEL
static org.infinispan.commons.configuration.attributes.AttributeDefinition<Long>
LOCK_ACQUISITION_TIMEOUT
static org.infinispan.commons.configuration.attributes.AttributeDefinition<Boolean>
USE_LOCK_STRIPING
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
concurrencyLevel()
Concurrency level for lock containers.org.infinispan.util.concurrent.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.
-
-
-
Field Detail
-
CONCURRENCY_LEVEL
public static final org.infinispan.commons.configuration.attributes.AttributeDefinition<Integer> CONCURRENCY_LEVEL
-
ISOLATION_LEVEL
public static final org.infinispan.commons.configuration.attributes.AttributeDefinition<org.infinispan.util.concurrent.IsolationLevel> ISOLATION_LEVEL
-
LOCK_ACQUISITION_TIMEOUT
public static final org.infinispan.commons.configuration.attributes.AttributeDefinition<Long> LOCK_ACQUISITION_TIMEOUT
-
USE_LOCK_STRIPING
public static final org.infinispan.commons.configuration.attributes.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 org.infinispan.util.concurrent.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.
-
-