## Provided Capabilities (1)

Name | Dynamic | Other provider points
--- | --- | ---
org.wildfly.clustering.jgroups.protocol | true | /subsystem=jgroups/channel=*/fork=*/protocol=SYM_ENCRYPT /subsystem=jgroups/stack=*/protocol=org.jgroups.protocols.TCPGOSSIP /subsystem=jgroups/stack=*/protocol=org.jgroups.protocols.ASYM_ENCRYPT /subsystem=jgroups/stack=*/protocol=JDBC_PING /subsystem=jgroups/channel=*/fork=*/protocol=ASYM_ENCRYPT /subsystem=jgroups/stack=*/protocol=TCPPING /subsystem=jgroups/channel=*/fork=*/protocol=TCPPING /subsystem=jgroups/channel=*/fork=*/protocol=MPING /subsystem=jgroups/stack=*/protocol=org.jgroups.protocols.AUTH /subsystem=jgroups/channel=*/fork=*/protocol=FD_SOCK /subsystem=jgroups/stack=*/protocol=FD_SOCK /subsystem=jgroups/stack=*/protocol=MPING /subsystem=jgroups/channel=*/fork=*/protocol=FD_SOCK2 /subsystem=jgroups/channel=*/fork=*/protocol=org.jgroups.protocols.TCPGOSSIP /subsystem=jgroups/stack=*/protocol=* /subsystem=jgroups/channel=*/fork=*/protocol=AUTH /subsystem=jgroups/channel=*/fork=*/protocol=org.jgroups.protocols.AUTH /subsystem=jgroups/stack=*/protocol=FD_SOCK2 /subsystem=jgroups/stack=*/protocol=org.jgroups.protocols.SYM_ENCRYPT /subsystem=jgroups/channel=*/fork=*/protocol=* /subsystem=jgroups/stack=*/protocol=TCPGOSSIP /subsystem=jgroups/channel=*/fork=*/protocol=org.jgroups.protocols.SYM_ENCRYPT /subsystem=jgroups/stack=*/protocol=SYM_ENCRYPT /subsystem=jgroups/channel=*/fork=*/protocol=org.jgroups.protocols.TCPPING /subsystem=jgroups/channel=*/fork=*/protocol=org.jgroups.protocols.ASYM_ENCRYPT /subsystem=jgroups/stack=*/protocol=org.jgroups.protocols.TCPPING /subsystem=jgroups/stack=*/protocol=ASYM_ENCRYPT /subsystem=jgroups/stack=*/protocol=AUTH /subsystem=jgroups/channel=*/fork=*/protocol=JDBC_PING /subsystem=jgroups/channel=*/fork=*/protocol=TCPGOSSIP /subsystem=jgroups/stack=*/protocol=org.jgroups.protocols.JDBC_PING

## Attributes (3)

- module - The module with which to resolve the protocol type.

  Type | STRING
  Default Value | org.jgroups
  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 module with which to resolve the protocol type.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : "org.jgroups",
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

- properties - The properties of this protocol.

  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" : "The properties of this protocol.",
          "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
      }

- statistics-enabled - Indicates whether or not this protocol will collect statistics overriding stack configuration.

  Type | BOOLEAN
  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 protocol will collect statistics overriding stack configuration.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "resource-services",
          "capability-reference" : null
      }

## Operations (2)

- add - Add a protocol to a protocol stack.

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  add-index | INT | false | false |  | If specified inserts the protocol at the given (zero-based) index. If null it will add at the end.
  module | STRING | false | true | org.jgroups | The module with which to resolve the protocol type.
  properties | OBJECT | false | true |  | The properties of this protocol.
  statistics-enabled | BOOLEAN | false | true |  | Indicates whether or not this protocol will collect statistics overriding stack configuration.

  Raw DMR model |
      {
          "operation-name" : "add",
          "description" : "Add a protocol to a protocol stack.",
          "request-properties" : {
              "add-index" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "If specified inserts the protocol at the given (zero-based) index. If null it will add at the end.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "stability" : "default"
              },
              "module" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The module with which to resolve the protocol type.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : "org.jgroups",
                  "stability" : "default"
              },
              "properties" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "OBJECT"
                  },
                  "description" : "The properties of this protocol.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "stability" : "default",
                  "value-type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  }
              },
              "statistics-enabled" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "Indicates whether or not this protocol will collect statistics overriding stack configuration.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "stability" : "default"
              }
          },
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : false
      }

- remove - Remove a protocol from a protocol stack.

  Raw DMR model |
      {
          "operation-name" : "remove",
          "description" : "Remove a protocol from a protocol stack.",
          "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.jgroups.channel.fork.protocol.org.jgroups.protocols.JDBC_PING

      <feature spec="subsystem.jgroups.channel.fork.protocol.org.jgroups.protocols.JDBC_PING">
        <param name="channel" value="{resource name}"/>
        <param name="fork" value="{resource name}"/>
        <param name="add-index" value="{value}"/>
        <param name="module" value="{value}"/>
        <param name="properties" value="{value}"/>
        <param name="statistics-enabled" value="{value}"/>
      <feature/>