com.google.appengine.api.backends

## Interface BackendService

-     public interface BackendService

  `BackendService` allows you to retrieve information about backend servers. Backend servers are long running addressable servers that can be used for applications that need to keep persistent state in ram between requests.

  This API allows you to retrieve information about the backend handling the current request. It also allows you to to get the address of a specific backend instance in such a way that a local server is used during development and a production server is used in production.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `BACKEND_ID_ENV_ATTRIBUTE` Environment attribute key where the backend name is stored.
    `static java.lang.String` | `DEVAPPSERVER_PORTMAPPING_KEY`
    `static java.lang.String` | `INSTANCE_ID_ENV_ATTRIBUTE` Environment attribute key where the instance id is stored.
    `static java.lang.String` | `REQUEST_HEADER_BACKEND_REDIRECT`
    `static java.lang.String` | `REQUEST_HEADER_INSTANCE_REDIRECT`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getBackendAddress(java.lang.String backend)` Get the address of a specific backend in such a way that a local server is used during development and a production server is used in production.
    `java.lang.String` | `getBackendAddress(java.lang.String backend, int instance)` Get the address of a specific backend instance in such a way that a local instance is used during development and a production server instance is used in production.
    `java.lang.String` | `getCurrentBackend()` Get the name of the backend handling the current request.
    `int` | `getCurrentInstance()` Get the instance handling the current request.

- - ### Field Detail

    - #### REQUEST_HEADER_BACKEND_REDIRECT

          static final java.lang.String REQUEST_HEADER_BACKEND_REDIRECT

      See Also:
        Constant Field Values

    - #### REQUEST_HEADER_INSTANCE_REDIRECT

          static final java.lang.String REQUEST_HEADER_INSTANCE_REDIRECT

      See Also:
        Constant Field Values

    - #### INSTANCE_ID_ENV_ATTRIBUTE

          static final java.lang.String INSTANCE_ID_ENV_ATTRIBUTE

      Environment attribute key where the instance id is stored.
      See Also:
        `getCurrentInstance()`, Constant Field Values

    - #### BACKEND_ID_ENV_ATTRIBUTE

          static final java.lang.String BACKEND_ID_ENV_ATTRIBUTE

      Environment attribute key where the backend name is stored.
      See Also:
        `getCurrentBackend()`, Constant Field Values

    - #### DEVAPPSERVER_PORTMAPPING_KEY

          static final java.lang.String DEVAPPSERVER_PORTMAPPING_KEY

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getCurrentBackend

          java.lang.String getCurrentBackend()

      Get the name of the backend handling the current request.
      Returns:
        The name of the backend or null if the request is not handled by a backend.

    - #### getCurrentInstance

          int getCurrentInstance()

      Get the instance handling the current request.
      Returns:
        The instance id or -1 if the request is not handled by a backend.

    - #### getBackendAddress

          java.lang.String getBackendAddress(java.lang.String backend)

      Get the address of a specific backend in such a way that a local server is used during development and a production server is used in production.
      Parameters:
        `backend` - The name of the backend
      Returns:
        The address of the backend

    - #### getBackendAddress

          java.lang.String getBackendAddress(java.lang.String backend,
                                           int instance)

      Get the address of a specific backend instance in such a way that a local instance is used during development and a production server instance is used in production.
      Parameters:
        `backend` - The name of the backend
        `instance` - The instance id
      Returns:
        The address of the backend instance