Compartilhar via


FaultType Enumeração

  • java.lang.Object
    • java.lang.Enum<FaultType>
      • system.fabric.FaultType

public enum FaultType

Indica o tipo de falha que um serviço relata: inválido, transitório ou permanente.

Observações: Os serviços podem relatar falhas durante o runtime usando o reportFault(FaultType faultType) método para indicar o tipo de falha.

Campos

Invalid

O tipo é inválido.

Permanent

Uma falha permanente é uma falha da qual o réplica não pode se recuperar. Esse tipo de falha indica que o réplica não pode fazer nenhum progresso adicional e deve ser removido e substituído.

Observações: Um exemplo de falha permanente seria um serviço persistente com estado que tenta gravar informações no disco e determina que o disco foi removido ou era inutilizável. Chamar reportFault(FaultType faultType) e relatar uma falha permanente resulta na anulação do serviço por meio de StatefulServiceReplica abort() ou StatelessServiceInstance abort() sem a chance de limpo normalmente o estado ou as operações completas. Portanto, se qualquer limpeza ou outro trabalho de execução longa for necessário, ele deverá ser executado antes reportFault(FaultType faultType) de ser chamado. Observe que a distinção entre falhas permanentes e transitórias é útil principalmente para serviços persistentes com estado. Além da sequência de chamadas, os efeitos em outros tipos de serviço são os mesmos: o réplica ou instância é removido, todo o estado nesse réplica ou instância é perdido e o réplica ou instância é recriado, potencialmente em um local diferente.

Transient

Uma falha transitória indica que há alguma condição temporária que impede que o réplica faça mais progresso ou processe outras solicitações de usuário.

Observações: Um exemplo de falha transitória é um serviço que determina que uma parte de seu estado ou algum arquivo de referência está corrompido, mas pode ser reparado se o serviço deve ser inicializado novamente. Nesse caso, o serviço usa o reportFault(FaultType faultType) método para relatar uma falha transitória. Relatar uma falha transitória fecha o serviço por meio de StatefulServiceReplica. closeAsync(CancellationToken cancellationToken) ou StatelessServiceInstance closeAsync(CancellationToken cancellationToken). Observe que, para serviços sem estado e com estado, falhas transitórias voláteis não são muito úteis porque o estado não é preservado em toda a falha. Para esses serviços, o uso de falhas transitórias ou permanentes depende se o serviço deve ser normalmente fechado de forma assíncrona com limpeza ou não fechado com um método StatefulServiceReplica abort() ou StatelessServiceInstance abort() síncrono.

Métodos

getValue()

public int getValue()

Obtém o valor system.fabric.FaultType.

Retornos

int
Retorna um inteiro que representa system.fabric.FaultType

Aplica-se a