## Provided Capabilities (1)

Name | Dynamic | Other provider points
--- | --- | ---
org.wildfly.messaging.activemq.socket-discovery-group | true | /subsystem=messaging-activemq/socket-discovery-group=*

## Attributes (3)

- initial-wait-timeout - Period, in ms, to wait for an initial broadcast to give us at least one node in the cluster.

  Type | LONG
  Default Value | 10000
  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? | all-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "LONG"
          },
          "description" : "Period, in ms, to wait for an initial broadcast to give us at least one node in the cluster.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 10000,
          "unit" : "MILLISECONDS",
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- refresh-timeout - Period the discovery group waits after receiving the last broadcast from a particular server before removing that server's connector pair entry from its list.

  Type | LONG
  Default Value | 10000
  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? | all-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "LONG"
          },
          "description" : "Period the discovery group waits after receiving the last broadcast from a particular server before removing that server's connector pair entry from its list.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 10000,
          "unit" : "MILLISECONDS",
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- socket-binding - The discovery group socket binding.

  Type | STRING
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "STRING"
          },
          "description" : "The discovery group socket binding.",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "access-constraints" : {"sensitive" : {"socket-binding-ref" : {"type" : "core"}}},
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

## Operations (2)

- add - Add a discovery group.

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  initial-wait-timeout | LONG | false | true | 10000 | Period, in ms, to wait for an initial broadcast to give us at least one node in the cluster.
  refresh-timeout | LONG | false | true | 10000 | Period the discovery group waits after receiving the last broadcast from a particular server before removing that server's connector pair entry from its list.
  socket-binding | STRING | true | false |  | The discovery group socket binding.

  Raw DMR model |
      {
          "operation-name" : "add",
          "description" : "Add a discovery group.",
          "request-properties" : {
              "initial-wait-timeout" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "LONG"
                  },
                  "description" : "Period, in ms, to wait for an initial broadcast to give us at least one node in the cluster.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 10000,
                  "unit" : "MILLISECONDS",
                  "stability" : "default"
              },
              "refresh-timeout" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "LONG"
                  },
                  "description" : "Period the discovery group waits after receiving the last broadcast from a particular server before removing that server's connector pair entry from its list.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 10000,
                  "unit" : "MILLISECONDS",
                  "stability" : "default"
              },
              "socket-binding" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The discovery group socket binding.",
                  "expressions-allowed" : false,
                  "required" : true,
                  "nillable" : false,
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              }
          },
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : false
      }

- remove - Remove a discovery group.

  Raw DMR model |
      {
          "operation-name" : "remove",
          "description" : "Remove a discovery group.",
          "request-properties" : {},
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "restart-required" : "all-services",
          "runtime-only" : false
      }

## Galleon Features

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

- subsystem.messaging-activemq.server.socket-discovery-group

      <feature spec="subsystem.messaging-activemq.server.socket-discovery-group">
        <param name="server" value="{resource name}"/>
        <param name="socket-discovery-group" value="{resource name}"/>
        <param name="initial-wait-timeout" value="{value}"/>
        <param name="refresh-timeout" value="{value}"/>
        <param name="socket-binding" value="{value}"/>
      <feature/>