## Provided Capabilities (1)

Name | Dynamic | Other provider points
--- | --- | ---
org.wildfly.ejb3.pool-config | true | none

## Attributes (5)

- derive-size - Specifies if and what the max pool size should be derived from. An undefined value (or the deprecated value 'none' which is converted to undefined) indicates that the explicit value of max-pool-size should be used. A value of 'from-worker-pools' indicates that the max pool size should be derived from the size of the total threads for all worker pools configured on the system. A value of 'from-cpu-count' indicates that the max pool size should be derived from the total number of processors available on the system. Note that the computation isn't a 1:1 mapping, the values may or may not be augmented by other factors.

  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? | no-services
  Allowed Values | from-worker-pools from-cpu-count
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "STRING"
          },
          "description" : "Specifies if and what the max pool size should be derived from. An undefined value (or the deprecated value 'none' which is converted to undefined) indicates that the explicit value of max-pool-size should be used. A value of 'from-worker-pools' indicates that the max pool size should be derived from the size of the total threads for all worker pools configured on the system. A value of 'from-cpu-count' indicates that the max pool size should be derived from the total number of processors available on the system. Note that the computation isn't a 1:1 mapping, the values may or may not be augmented by other factors.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "alternatives" : ["max-pool-size"],
          "allowed" : [
              "from-worker-pools",
              "from-cpu-count"
          ],
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- derived-size - Derived maximum number of bean instances that the pool can hold at a given point in time

  Type | INT
  Is the attribute nillable? | true
  Where is the attribute stored? | runtime
  Access Type | read-only
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "Derived maximum number of bean instances that the pool can hold at a given point in time",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "stability" : "default",
          "access-type" : "read-only",
          "storage" : "runtime",
          "restart-required" : null,
          "capability-reference" : null
      }

- max-pool-size - Configured maximum number of bean instances that the pool can hold at a given point in time

  Type | INT
  Default Value | 20
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Min | 1
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "Configured maximum number of bean instances that the pool can hold at a given point in time",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 20,
          "alternatives" : ["derive-size"],
          "min" : 1,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- timeout - The maximum amount of time to wait for a bean instance to be available from the pool

  Type | LONG
  Default Value | 5
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Min | 1
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "LONG"
          },
          "description" : "The maximum amount of time to wait for a bean instance to be available from the pool",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 5,
          "min" : 1,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- timeout-unit - The instance acquisition timeout unit

  Type | STRING
  Default Value | MINUTES
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Allowed Values | MILLISECONDS MICROSECONDS HOURS SECONDS NANOSECONDS DAYS MINUTES
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "STRING"
          },
          "description" : "The instance acquisition timeout unit",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : "MINUTES",
          "allowed" : [
              "NANOSECONDS",
              "MICROSECONDS",
              "MILLISECONDS",
              "SECONDS",
              "MINUTES",
              "HOURS",
              "DAYS"
          ],
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

## Operations (2)

- add - Adds a bean instance pool which has a strict upper limit for bean instances

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  derive-size | STRING | false | true |  | Specifies if and what the max pool size should be derived from. An undefined value (or the deprecated value 'none' which is converted to undefined) indicates that the explicit value of max-pool-size should be used. A value of 'from-worker-pools' indicates that the max pool size should be derived from the size of the total threads for all worker pools configured on the system. A value of 'from-cpu-count' indicates that the max pool size should be derived from the total number of processors available on the system. Note that the computation isn't a 1:1 mapping, the values may or may not be augmented by other factors.
  max-pool-size | INT | false | true | 20 | Configured maximum number of bean instances that the pool can hold at a given point in time
  timeout | LONG | false | true | 5 | The maximum amount of time to wait for a bean instance to be available from the pool
  timeout-unit | STRING | false | true | MINUTES | The instance acquisition timeout unit

  Raw DMR model |
      {
          "operation-name" : "add",
          "description" : "Adds a bean instance pool which has a strict upper limit for bean instances",
          "request-properties" : {
              "derive-size" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "Specifies if and what the max pool size should be derived from. An undefined value (or the deprecated value 'none' which is converted to undefined) indicates that the explicit value of max-pool-size should be used. A value of 'from-worker-pools' indicates that the max pool size should be derived from the size of the total threads for all worker pools configured on the system. A value of 'from-cpu-count' indicates that the max pool size should be derived from the total number of processors available on the system. Note that the computation isn't a 1:1 mapping, the values may or may not be augmented by other factors.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "alternatives" : ["max-pool-size"],
                  "allowed" : [
                      "from-worker-pools",
                      "from-cpu-count"
                  ],
                  "stability" : "default"
              },
              "max-pool-size" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "Configured maximum number of bean instances that the pool can hold at a given point in time",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 20,
                  "alternatives" : ["derive-size"],
                  "min" : 1,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "timeout" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "LONG"
                  },
                  "description" : "The maximum amount of time to wait for a bean instance to be available from the pool",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 5,
                  "min" : 1,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "timeout-unit" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The instance acquisition timeout unit",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : "MINUTES",
                  "allowed" : [
                      "NANOSECONDS",
                      "MICROSECONDS",
                      "MILLISECONDS",
                      "SECONDS",
                      "MINUTES",
                      "HOURS",
                      "DAYS"
                  ],
                  "stability" : "default"
              }
          },
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : false
      }

- remove - Removes a specific bean instance pool which has a strict upper limit for bean instances

  Raw DMR model |
      {
          "operation-name" : "remove",
          "description" : "Removes a specific bean instance pool which has a strict upper limit for bean instances",
          "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.ejb3.strict-max-bean-instance-pool

      <feature spec="subsystem.ejb3.strict-max-bean-instance-pool">
        <param name="strict-max-bean-instance-pool" value="{resource name}"/>
        <param name="derive-size" value="{value}"/>
        <param name="max-pool-size" value="{value}"/>
        <param name="timeout" value="{value}"/>
        <param name="timeout-unit" value="{value}"/>
      <feature/>