Chapter 14. Locking

Red Hat JBoss Data Grid provides locking mechanisms to prevent dirty reads (where a transaction reads an outdated value before another transaction has applied changes to it) and non-repeatable reads.

14.1. Configure Locking (Remote Client-Server Mode)

In Remote Client-Server mode, locking is configured using the locking element within the cache tags (for example, invalidation-cache, distributed-cache, replicated-cache or local-cache).

Note

The default isolation mode for the Remote Client-Server mode configuration is READ_COMMITTED. If the isolation attribute is included to explicitly specify an isolation mode, it is ignored, a warning is thrown, and the default value is used instead.
The following is a sample procedure of a basic locking configuration for a default cache in Red Hat JBoss Data Grid's Remote Client-Server mode.

Procedure 14.1. Configure Locking (Remote Client-Server Mode)

  1. Set the acquire-timeout Parameter

    The acquire-timeout parameter specifies the number of milliseconds after which lock acquisition will time out.
    <distributed-cache>
    	<locking acquire-timeout="30000" />
  2. Set Number of Lock Stripes

    The concurrency-level parameter defines the number of lock stripes used by the LockManager.
    <distributed-cache>
    	<locking acquire-timeout="30000" 
    	         concurrency-level="1000" />
  3. Set Lock Striping

    The striping parameter specifies whether lock striping will be used for the local cache.
    <distributed-cache>
    	<locking acquire-timeout="30000" 
    	         concurrency-level="1000" 
    	         striping="false" />
    	         ...
    </distributed-cache>