API Capabilities para serviços agrupados antigos

Com a API Capabilities, a sua aplicação pode detetar interrupções e tempo de inatividade agendado para capacidades da API específicas. Pode usar esta API para reduzir o tempo de inatividade na sua aplicação ao detetar quando uma capacidade está indisponível e, em seguida, ignorá-la. .

Por exemplo, se usar a API Images para redimensionar imagens, pode usar a API Capabilities para detetar quando a API Images está indisponível e ignorar o redimensionamento:

import com.google.appengine.api.capabilities.*;

CapabilitiesService service =
    CapabilitiesServiceFactory.getCapabilitiesService();
CapabilityStatus status = service.getStatus(Capability.IMAGES).getStatus();

if (status == CapabilityStatus.DISABLED) {
    // Images API is not available.
}

Pode consultar separadamente a disponibilidade de leituras e escritas do Datastore. O exemplo seguinte mostra como detetar a disponibilidade de gravações do Datastore e, durante o tempo de inatividade, apresentar uma mensagem aos utilizadores:

CapabilityStatus status =
    service.getStatus(Capability.DATASTORE_WRITE).getStatus();

if (status == CapabilityStatus.DISABLED) {
    // Datastore is in read-only mode.
}

Usar a API Capabilities no Java 8

Cada capacidade é representada como uma constante estática na classe Capability, como Capability.DATASTORE_WRITE. Cada capacidade tem um estado que pode obter a partir de CapabilitiesService.getStatus(Capability). Cada estado tem um estado, que é uma enumeração que reflete a disponibilidade de uma capacidade: ENABLED ou DISABLED. Veja abaixo a lista de serviços atualmente ativados nesta API.

Capacidades suportadas

Atualmente, a API suporta as seguintes capacidades:

Capacidade Argumentos para getStatus
Disponibilidade do blobstore Capability.BLOBSTORE
Leituras do Datastore Capability.DATASTORE
Escritas do Datastore Capability.DATASTORE_WRITE
Disponibilidade do serviço Imagens Capability.IMAGES
Disponibilidade do serviço de correio Capability.MAIL
Disponibilidade do serviço Memcache Capability.MEMCACHE
Disponibilidade do serviço Task Queue Capability.TASKQUEUE
Disponibilidade do serviço de obtenção de URL Capability.URL_FETCH