## Provided Capabilities (1)

Name | Dynamic | Other provider points
--- | --- | ---
org.wildfly.clustering.infinispan.cache-configuration.component.locking | true | /subsystem=infinispan/cache-container=*/scattered-cache=*/component=locking /subsystem=infinispan/cache-container=*/local-cache=*/component=locking /subsystem=infinispan/cache-container=*/replicated-cache=*/component=locking /subsystem=infinispan/cache-container=*/invalidation-cache=*/component=locking

## Attributes (4)

- acquire-timeout - Maximum time to attempt a particular lock acquisition.

  Type | LONG
  Default Value | 15000
  Unit | MILLISECONDS
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | resource-services
  Min | 0
  Max | 9223372036854775807
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "LONG"
          },
          "description" : "Maximum time to attempt a particular lock acquisition.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 15000,
          "unit" : "MILLISECONDS",
          "min" : 0,
          "max" : 9223372036854775807,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- concurrency-level - Concurrency level for lock containers. Adjust this value according to the number of concurrent threads interacting with Infinispan.
  Deprecated Since 17.0.0
  Deprecated. This attribute will be ignored.

  Type | INT
  Default Value | 1000
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | resource-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "Concurrency level for lock containers. Adjust this value according to the number of concurrent threads interacting with Infinispan.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 1000,
          "stability" : "default",
          "deprecated" : {
              "since" : "17.0.0",
              "reason" : "Deprecated. This attribute will be ignored."
          },
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- isolation - Sets the cache locking isolation level.

  Type | STRING
  Default Value | READ_COMMITTED
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | resource-services
  Allowed Values | REPEATABLE_READ READ_UNCOMMITTED NONE SERIALIZABLE READ_COMMITTED
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "STRING"
          },
          "description" : "Sets the cache locking isolation level.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : "READ_COMMITTED",
          "allowed" : [
              "NONE",
              "SERIALIZABLE",
              "REPEATABLE_READ",
              "READ_COMMITTED",
              "READ_UNCOMMITTED"
          ],
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

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

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | resource-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "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.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

## Operations (2)

- add - Adds a locking configuration element to the cache.

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  acquire-timeout | LONG | false | true | 15000 | Maximum time to attempt a particular lock acquisition.
  concurrency-level | INT | false | true | 1000 | Concurrency level for lock containers. Adjust this value according to the number of concurrent threads interacting with Infinispan.
  isolation | STRING | false | true | READ_COMMITTED | Sets the cache locking isolation level.
  striping | BOOLEAN | false | true | false | 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.

  Raw DMR model |
      {
          "operation-name" : "add",
          "description" : "Adds a locking configuration element to the cache.",
          "request-properties" : {
              "acquire-timeout" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "LONG"
                  },
                  "description" : "Maximum time to attempt a particular lock acquisition.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 15000,
                  "unit" : "MILLISECONDS",
                  "min" : 0,
                  "max" : 9223372036854775807,
                  "stability" : "default"
              },
              "concurrency-level" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "Concurrency level for lock containers. Adjust this value according to the number of concurrent threads interacting with Infinispan.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 1000,
                  "stability" : "default",
                  "deprecated" : {
                      "since" : "17.0.0",
                      "reason" : "Deprecated. This attribute will be ignored."
                  }
              },
              "isolation" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "Sets the cache locking isolation level.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : "READ_COMMITTED",
                  "allowed" : [
                      "NONE",
                      "SERIALIZABLE",
                      "REPEATABLE_READ",
                      "READ_COMMITTED",
                      "READ_UNCOMMITTED"
                  ],
                  "stability" : "default"
              },
              "striping" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "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.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              }
          },
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : false
      }

- remove - Removes a locking configuration element from the cache.

  Raw DMR model |
      {
          "operation-name" : "remove",
          "description" : "Removes a locking configuration element from the cache.",
          "request-properties" : {},
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "restart-required" : "resource-services",
          "runtime-only" : false
      }

## Galleon Features

Galleon features are to be used when creating Galleon feature-packs.

- subsystem.infinispan.cache-container.distributed-cache.component.locking

      <feature spec="subsystem.infinispan.cache-container.distributed-cache.component.locking">
        <param name="cache-container" value="{resource name}"/>
        <param name="distributed-cache" value="{resource name}"/>
        <param name="acquire-timeout" value="{value}"/>
        <param name="concurrency-level" value="{value}"/>
        <param name="isolation" value="{value}"/>
        <param name="striping" value="{value}"/>
      <feature/>