## Children (1)

- write
  - behind
  - through

## Provided Capabilities (1)

Name | Dynamic | Other provider points
--- | --- | ---
org.wildfly.clustering.infinispan.cache-configuration.store | true | /subsystem=infinispan/cache-container=*/invalidation-cache=*/store=file /subsystem=infinispan/cache-container=*/invalidation-cache=*/store=remote /subsystem=infinispan/cache-container=*/scattered-cache=*/store=custom /subsystem=infinispan/cache-container=*/local-cache=*/store=custom /subsystem=infinispan/cache-container=*/invalidation-cache=*/store=none /subsystem=infinispan/cache-container=*/scattered-cache=*/store=hotrod /subsystem=infinispan/cache-container=*/invalidation-cache=*/store=jdbc /subsystem=infinispan/cache-container=*/distributed-cache=*/store=remote /subsystem=infinispan/cache-container=*/scattered-cache=*/store=file /subsystem=infinispan/cache-container=*/local-cache=*/store=hotrod /subsystem=infinispan/cache-container=*/scattered-cache=*/store=jdbc /subsystem=infinispan/cache-container=*/distributed-cache=*/store=custom /subsystem=infinispan/cache-container=*/replicated-cache=*/store=none /subsystem=infinispan/cache-container=*/replicated-cache=*/store=jdbc /subsystem=infinispan/cache-container=*/scattered-cache=*/store=none /subsystem=infinispan/cache-container=*/scattered-cache=*/store=remote /subsystem=infinispan/cache-container=*/distributed-cache=*/store=hotrod /subsystem=infinispan/cache-container=*/invalidation-cache=*/store=custom /subsystem=infinispan/cache-container=*/replicated-cache=*/store=file /subsystem=infinispan/cache-container=*/distributed-cache=*/store=none /subsystem=infinispan/cache-container=*/local-cache=*/store=remote /subsystem=infinispan/cache-container=*/replicated-cache=*/store=custom /subsystem=infinispan/cache-container=*/replicated-cache=*/store=hotrod /subsystem=infinispan/cache-container=*/local-cache=*/store=none /subsystem=infinispan/cache-container=*/distributed-cache=*/store=jdbc /subsystem=infinispan/cache-container=*/distributed-cache=*/store=file /subsystem=infinispan/cache-container=*/local-cache=*/store=file /subsystem=infinispan/cache-container=*/replicated-cache=*/store=remote /subsystem=infinispan/cache-container=*/local-cache=*/store=jdbc

## Attributes (10)

- cache-configuration - Name of the cache configuration template defined in Infinispan Server to create caches from.

  Type | STRING
  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" : "STRING"
          },
          "description" : "Name of the cache configuration template defined in Infinispan Server to create caches from.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- fetch-state - If true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
  Deprecated Since 16.0.0
  Deprecated. Persistent state will always be fetched if store is not shared.

  Type | BOOLEAN
  Default Value | true
  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, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : true,
          "stability" : "default",
          "deprecated" : {
              "since" : "16.0.0",
              "reason" : "Deprecated. Persistent state will always be fetched if store is not shared."
          },
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- max-batch-size - The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.

  Type | INT
  Default Value | 100
  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" : "The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 100,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- passivation - If true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration.

  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, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- preload - If true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.

  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, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- properties - A list of cache store properties.

  Type | OBJECT
  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" : "OBJECT"
          },
          "description" : "A list of cache store properties.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "stability" : "default",
          "value-type" : {
              "TYPE_MODEL_VALUE" : "STRING"
          },
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- purge - If true, purges this cache store when it starts up.

  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, purges this cache store when it starts up.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- remote-cache-container - Reference to a container-managed remote-cache-container.

  Type | STRING
  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" : "STRING"
          },
          "description" : "Reference to a container-managed remote-cache-container.",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "capability-reference" : "org.wildfly.clustering.infinispan.remote-cache-container",
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services"
      }

- segmented - Indicates whether or not this cache store should be segment aware.

  Type | BOOLEAN
  Default Value | true
  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" : "Indicates whether or not this cache store should be segment aware.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : true,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- shared - This setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.

  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" : "This setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.",
          "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 HotRod store.

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  cache-configuration | STRING | false | true |  | Name of the cache configuration template defined in Infinispan Server to create caches from.
  fetch-state | BOOLEAN | false | true | true | If true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.
  max-batch-size | INT | false | true | 100 | The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.
  passivation | BOOLEAN | false | true | false | If true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration.
  preload | BOOLEAN | false | true | false | If true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.
  properties | OBJECT | false | true |  | A list of cache store properties.
  purge | BOOLEAN | false | true | false | If true, purges this cache store when it starts up.
  remote-cache-container | STRING | true | false |  | Reference to a container-managed remote-cache-container.
  segmented | BOOLEAN | false | true | true | Indicates whether or not this cache store should be segment aware.
  shared | BOOLEAN | false | true | false | This setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.

  Raw DMR model |
      {
          "operation-name" : "add",
          "description" : "Adds HotRod store.",
          "request-properties" : {
              "cache-configuration" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "Name of the cache configuration template defined in Infinispan Server to create caches from.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "fetch-state" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "If true, fetch persistent state when joining a cluster. If multiple cache stores are chained, only one of them can have this property enabled.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : true,
                  "stability" : "default",
                  "deprecated" : {
                      "since" : "16.0.0",
                      "reason" : "Deprecated. Persistent state will always be fetched if store is not shared."
                  }
              },
              "max-batch-size" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "The maximum size of a batch to be inserted/deleted from the store. If the value is less than one, then no upper limit is placed on the number of operations in a batch.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 100,
                  "stability" : "default"
              },
              "passivation" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "If true, data is only written to the cache store when it is evicted from memory, a phenomenon known as 'passivation'. Next time the data is requested, it will be 'activated' which means that data will be brought back to memory and removed from the persistent store. If false, the cache store contains a copy of the contents in memory, so writes to cache result in cache store writes. This essentially gives you a 'write-through' configuration.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "preload" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "If true, when the cache starts, data stored in the cache store will be pre-loaded into memory. This is particularly useful when data in the cache store will be needed immediately after startup and you want to avoid cache operations being delayed as a result of loading this data lazily. Can be used to provide a 'warm-cache' on startup, however there is a performance penalty as startup time is affected by this process.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "properties" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "OBJECT"
                  },
                  "description" : "A list of cache store properties.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "stability" : "default",
                  "value-type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  }
              },
              "purge" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "If true, purges this cache store when it starts up.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "remote-cache-container" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "Reference to a container-managed remote-cache-container.",
                  "expressions-allowed" : false,
                  "required" : true,
                  "nillable" : false,
                  "capability-reference" : "org.wildfly.clustering.infinispan.remote-cache-container",
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "segmented" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "Indicates whether or not this cache store should be segment aware.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : true,
                  "stability" : "default"
              },
              "shared" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "This setting should be set to true when multiple cache instances share the same cache store (e.g., multiple nodes in a cluster using a JDBC-based CacheStore pointing to the same, shared database.) Setting this to true avoids multiple cache instances writing the same modification multiple times. If enabled, only the node where the modification originated will write to the cache store. If disabled, each individual cache reacts to a potential remote update by storing the data to the cache store.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              }
          },
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : false
      }

- remove - Removes HotRod store.

  Raw DMR model |
      {
          "operation-name" : "remove",
          "description" : "Removes HotRod store.",
          "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.invalidation-cache.store.hotrod

      <feature spec="subsystem.infinispan.cache-container.invalidation-cache.store.hotrod">
        <param name="cache-container" value="{resource name}"/>
        <param name="invalidation-cache" value="{resource name}"/>
        <param name="cache-configuration" value="{value}"/>
        <param name="fetch-state" value="{value}"/>
        <param name="max-batch-size" value="{value}"/>
        <param name="passivation" value="{value}"/>
        <param name="preload" value="{value}"/>
        <param name="properties" value="{value}"/>
        <param name="purge" value="{value}"/>
        <param name="remote-cache-container" value="{value}"/>
        <param name="segmented" value="{value}"/>
        <param name="shared" value="{value}"/>
      <feature/>