## Provided Capabilities (1)

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

## Attributes (5)

- 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
      }

- jgroups-channel - References the name of a JGroups channel. If undefined, the default channel will be used.

  Type | STRING
  Is the attribute nillable? | 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" : "STRING"
          },
          "description" : "References the name of a JGroups channel.  If undefined, the default channel will be used.",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "requires" : ["jgroups-cluster"],
          "capability-reference" : "org.wildfly.clustering.server.command-dispatcher-factory",
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services"
      }

- jgroups-cluster - The logical cluster name.

  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 logical cluster name.",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- jgroups-stack - References the name of a JGroups channel factory.
  Deprecated Since 3.0.0
  Deprecated. Use jgroups-channel instead.

  Type | STRING
  Is the attribute nillable? | 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" : "STRING"
          },
          "description" : "References the name of a JGroups channel factory.",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "requires" : ["jgroups-cluster"],
          "capability-reference" : "org.wildfly.clustering.jgroups.channel-factory",
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "deprecated" : {
              "since" : "3.0.0",
              "reason" : "Deprecated. Use jgroups-channel instead."
          },
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services"
      }

- 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
      }

## 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.
  jgroups-channel | STRING | false | false |  | References the name of a JGroups channel. If undefined, the default channel will be used.
  jgroups-cluster | STRING | true | false |  | The logical cluster name.
  jgroups-stack | STRING | false | false |  | References the name of a JGroups channel factory.
  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.

  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"
              },
              "jgroups-channel" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "References the name of a JGroups channel.  If undefined, the default channel will be used.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "requires" : ["jgroups-cluster"],
                  "capability-reference" : "org.wildfly.clustering.server.command-dispatcher-factory",
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "jgroups-cluster" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The logical cluster name.",
                  "expressions-allowed" : false,
                  "required" : true,
                  "nillable" : false,
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "jgroups-stack" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "References the name of a JGroups channel factory.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "requires" : ["jgroups-cluster"],
                  "capability-reference" : "org.wildfly.clustering.jgroups.channel-factory",
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default",
                  "deprecated" : {
                      "since" : "3.0.0",
                      "reason" : "Deprecated. Use jgroups-channel instead."
                  }
              },
              "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"
              }
          },
          "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.jgroups-discovery-group

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