11.5. The REST Interface Connector

Red Hat JBoss Data Grid supports three connector types, namely:
  • The hotrod-connector element, which defines the configuration for a Hot Rod based connector.
  • The memcached-connector element, which defines the configuration for a memcached based connector.
  • The rest-connector element, which defines the configuration for a REST interface based connector.
The connector declaration enables a Hot Rod, Memcached, or REST server using a socket binding, which is declared within a <socket-binding-group />, and exposing the caches declared in the local container, using defaults for all other settings. The following examples show how to connect to Hot Rod, Memcached, and REST servers.
The REST connector differs from Hot Rod and Memcached because it requires a web subsystem. Therefore configurations such as socket-binding, worker threads, timeouts, etc, must be performed on the web subsystem. The following enables a REST server.
<rest-connector virtual-server="default-host" cache-container="local" security-domain="other" auth-method="BASIC"/>

11.5.1. Configure REST Connectors

Use the following procedure to configure the rest-connector element in Red Hat JBoss Data Grid's Remote Client-Server mode.

Procedure 11.1. Configuring REST Connectors for Remote Client-Server Mode

The rest-connector element specifies the configuration information for the REST connector.
  1. The virtual-server Parameter

    The virtual-server parameter specifies the virtual server used by the REST connector. The default value for this parameter is default-host. This is an optional parameter.
    <subsystem xmlns="urn:infinispan:server:endpoint:6.1">
       <rest-connector virtual-server="default-host" />
    </subsystem>
  2. The cache-container Parameter

    The cache-container parameter names the cache container used by the REST connector. This is a mandatory parameter.
    <subsystem xmlns="urn:infinispan:server:endpoint:6.1">
       <rest-connector virtual-server="default-host"
                     cache-container="local" />
    </subsystem>
  3. The context-path Parameter

    The context-path parameter specifies the context path for the REST connector. The default value for this parameter is an empty string (""). This is an optional parameter.
    <subsystem xmlns="urn:infinispan:server:endpoint:6.1">
       <rest-connector virtual-server="default-host"
                     cache-container="local"
                     context-path="${CONTEXT_PATH}" />
    </subsystem>
  4. The security-domain Parameter

    The security-domain parameter specifies that the specified domain, declared in the security subsystem, should be used to authenticate access to the REST endpoint. This is an optional parameter. If this parameter is omitted, no authentication is performed.
    <subsystem xmlns="urn:infinispan:server:endpoint:6.1">
       <rest-connector virtual-server="default-host"
                     cache-container="local"
                     context-path="${CONTEXT_PATH}"
                     security-domain="${SECURITY_DOMAIN}" />
    </subsystem>
  5. The auth-method Parameter

    The auth-method parameter specifies the method used to retrieve credentials for the end point. The default value for this parameter is BASIC. Supported alternate values include BASIC, DIGEST, and CLIENT-CERT. This is an optional parameter.
    <subsystem xmlns="urn:infinispan:server:endpoint:6.1">
       <rest-connector virtual-server="default-host"
                     cache-container="local"
                     context-path="${CONTEXT_PATH}"
                     security-domain="${SECURITY_DOMAIN}"
                     auth-method="${METHOD}"  />
    </subsystem>
  6. The security-mode Parameter

    The security-mode parameter specifies whether authentication is required only for write operations (such as PUT, POST and DELETE) or for read operations (such as GET and HEAD) as well. Valid values for this parameter are WRITE for authenticating write operations only, or READ_WRITE to authenticate read and write operations. The default value for this parameter is READ_WRITE.
    <subsystem xmlns="urn:infinispan:server:endpoint:6.1">
       <rest-connector virtual-server="default-host"
                     cache-container="local"
                     context-path="${CONTEXT_PATH}"
                     security-domain="${SECURITY_DOMAIN}"
                     auth-method="${METHOD}" 
                     security-mode="${MODE}" /> 
    </subsystem>