## Provided Capabilities (1)

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

## Attributes (3)

- interval - Interval (in milliseconds) between subsequent runs to purge expired entries from memory and any cache stores. If you wish to disable the periodic eviction process altogether, set wakeupInterval to -1.

  Type | LONG
  Default Value | 60000
  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" : "Interval (in milliseconds) between subsequent runs to purge expired entries from memory and any cache stores. If you wish to disable the periodic eviction process altogether, set wakeupInterval to -1.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 60000,
          "unit" : "MILLISECONDS",
          "min" : 0,
          "max" : 9223372036854775807,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- lifespan - Maximum lifespan of a cache entry, after which the entry is expired cluster-wide, in milliseconds. -1 means the entries never expire.

  Type | LONG
  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 lifespan of a cache entry, after which the entry is expired cluster-wide, in milliseconds. -1 means the entries never expire.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "unit" : "MILLISECONDS",
          "min" : 0,
          "max" : 9223372036854775807,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- max-idle - Maximum idle time a cache entry will be maintained in the cache, in milliseconds. If the idle time is exceeded, the entry will be expired cluster-wide. -1 means the entries never expire.

  Type | LONG
  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 idle time a cache entry will be maintained in the cache, in milliseconds. If the idle time is exceeded, the entry will be expired cluster-wide. -1 means the entries never expire.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "unit" : "MILLISECONDS",
          "min" : 0,
          "max" : 9223372036854775807,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

## Operations (2)

- add - Adds an expiration configuration element to the cache.

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  interval | LONG | false | true | 60000 | Interval (in milliseconds) between subsequent runs to purge expired entries from memory and any cache stores. If you wish to disable the periodic eviction process altogether, set wakeupInterval to -1.
  lifespan | LONG | false | true |  | Maximum lifespan of a cache entry, after which the entry is expired cluster-wide, in milliseconds. -1 means the entries never expire.
  max-idle | LONG | false | true |  | Maximum idle time a cache entry will be maintained in the cache, in milliseconds. If the idle time is exceeded, the entry will be expired cluster-wide. -1 means the entries never expire.

  Raw DMR model |
      {
          "operation-name" : "add",
          "description" : "Adds an expiration configuration element to the cache.",
          "request-properties" : {
              "interval" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "LONG"
                  },
                  "description" : "Interval (in milliseconds) between subsequent runs to purge expired entries from memory and any cache stores. If you wish to disable the periodic eviction process altogether, set wakeupInterval to -1.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 60000,
                  "unit" : "MILLISECONDS",
                  "min" : 0,
                  "max" : 9223372036854775807,
                  "stability" : "default"
              },
              "lifespan" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "LONG"
                  },
                  "description" : "Maximum lifespan of a cache entry, after which the entry is expired cluster-wide, in milliseconds. -1 means the entries never expire.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "unit" : "MILLISECONDS",
                  "min" : 0,
                  "max" : 9223372036854775807,
                  "stability" : "default"
              },
              "max-idle" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "LONG"
                  },
                  "description" : "Maximum idle time a cache entry will be maintained in the cache, in milliseconds. If the idle time is exceeded, the entry will be expired cluster-wide. -1 means the entries never expire.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "unit" : "MILLISECONDS",
                  "min" : 0,
                  "max" : 9223372036854775807,
                  "stability" : "default"
              }
          },
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : false
      }

- remove - Removes an expiration configuration element from the cache.

  Raw DMR model |
      {
          "operation-name" : "remove",
          "description" : "Removes an expiration 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.replicated-cache.component.expiration

      <feature spec="subsystem.infinispan.cache-container.replicated-cache.component.expiration">
        <param name="cache-container" value="{resource name}"/>
        <param name="replicated-cache" value="{resource name}"/>
        <param name="interval" value="{value}"/>
        <param name="lifespan" value="{value}"/>
        <param name="max-idle" value="{value}"/>
      <feature/>