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 final org.infinispan.commons.configuration.attributes.AttributeDefinition<Integer>
     
    static final org.infinispan.commons.configuration.attributes.AttributeDefinition<org.infinispan.util.concurrent.IsolationLevel>
     
    static final org.infinispan.commons.configuration.attributes.AttributeDefinition<Long>
     
    static final org.infinispan.commons.configuration.attributes.AttributeDefinition<Boolean>
     
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Concurrency level for lock containers.
    org.infinispan.util.concurrent.IsolationLevel
    Cache isolation level.
    long
    Maximum time to attempt a particular lock acquisition
    lockAcquisitionTimeout(long timeout)
     
    boolean
    If true, a pool of shared locks is maintained for all entries that need to be locked.
  • Field Details

    • 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 Details

    • 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.