## Children (1)

- affinity
  - local
  - none

## Provided Capabilities (1)

Name | Dynamic | Other provider points
--- | --- | ---
org.wildfly.clustering.web.session-management-provider | true | /subsystem=distributable-web/infinispan-session-management=*

## Attributes (5)

- cache-configuration - The name of cache configuration on the remote cache container.

  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" : "The name of cache configuration on the remote cache container.",
          "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
      }

- expiration-thread-pool-size - Configures the number of threads dedicated to processing expiration events from the remote Infinispan cluster.

  Type | INT
  Default Value | 16
  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" : "Configures the number of threads dedicated to processing expiration events from the remote Infinispan cluster.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 16,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- granularity - Defines the strategy for persisting the attributes of a session

  Type | STRING
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | resource-services
  Allowed Values | ATTRIBUTE SESSION
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "STRING"
          },
          "description" : "Defines the strategy for persisting the attributes of a session",
          "expressions-allowed" : true,
          "required" : true,
          "nillable" : false,
          "allowed" : [
              "SESSION",
              "ATTRIBUTE"
          ],
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- marshaller - Indicates the marshalling implementation used for serializing attributes of a session

  Type | STRING
  Default Value | JBOSS
  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 | JBOSS PROTOSTREAM
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "STRING"
          },
          "description" : "Indicates the marshalling implementation used for serializing attributes of a session",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : "JBOSS",
          "allowed" : [
              "JBOSS",
              "PROTOSTREAM"
          ],
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- remote-cache-container - The name of the remote cache container associated with this provider

  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" : "The name of the remote cache container associated with this provider",
          "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"
      }

## Operations (2)

- add - Adds a distributable session management provider

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  cache-configuration | STRING | false | true |  | The name of cache configuration on the remote cache container.
  expiration-thread-pool-size | INT | false | true | 16 | Configures the number of threads dedicated to processing expiration events from the remote Infinispan cluster.
  granularity | STRING | true | true |  | Defines the strategy for persisting the attributes of a session
  marshaller | STRING | false | true | JBOSS | Indicates the marshalling implementation used for serializing attributes of a session
  remote-cache-container | STRING | true | false |  | The name of the remote cache container associated with this provider

  Raw DMR model |
      {
          "operation-name" : "add",
          "description" : "Adds a distributable session management provider",
          "request-properties" : {
              "cache-configuration" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The name of cache configuration on the remote cache container.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "expiration-thread-pool-size" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "Configures the number of threads dedicated to processing expiration events from the remote Infinispan cluster.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 16,
                  "stability" : "default"
              },
              "granularity" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "Defines the strategy for persisting the attributes of a session",
                  "expressions-allowed" : true,
                  "required" : true,
                  "nillable" : false,
                  "allowed" : [
                      "SESSION",
                      "ATTRIBUTE"
                  ],
                  "stability" : "default"
              },
              "marshaller" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "Indicates the marshalling implementation used for serializing attributes of a session",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : "JBOSS",
                  "allowed" : [
                      "JBOSS",
                      "PROTOSTREAM"
                  ],
                  "stability" : "default"
              },
              "remote-cache-container" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The name of the remote cache container associated with this provider",
                  "expressions-allowed" : false,
                  "required" : true,
                  "nillable" : false,
                  "capability-reference" : "org.wildfly.clustering.infinispan.remote-cache-container",
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              }
          },
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : false
      }

- remove - Removes a distributable session management provider

  Raw DMR model |
      {
          "operation-name" : "remove",
          "description" : "Removes a distributable session management provider",
          "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.distributable-web.hotrod-session-management

      <feature spec="subsystem.distributable-web.hotrod-session-management">
        <param name="hotrod-session-management" value="{resource name}"/>
        <param name="cache-configuration" value="{value}"/>
        <param name="expiration-thread-pool-size" value="{value}"/>
        <param name="granularity" value="{value}"/>
        <param name="marshaller" value="{value}"/>
        <param name="remote-cache-container" value="{value}"/>
      <feature/>