Notificações de eventos de nível de gerenciamento
Os eventos podem ser registrados para operações de gerenciamento, incluindo limpeza de cache, cache interrompido e entrada/saída de membro. Aqui, descrevemos como registrar e cancelar o registro de notificações de eventos em nível de gerenciamento.
Pré-requisitos para configurar notificações de eventos em nível de gerenciamento
- Para aprender sobre os pré-requisitos padrão necessários para trabalhar com todos os NCache recursos do lado do cliente, consulte a página fornecida em Pré-requisitos da API do lado do cliente.
- Tenha certeza de habilitar notificações de eventos usando o NCache Centro de Gestão.
- Para obter detalhes da API, consulte: ICache, Item de cache, Membro Associado, MembroEsquerda, CacheParado, CacheLimpido.
Evento de limpeza de cache
Em alguns casos, o aplicativo deve ser notificado quando o cache for limpo. Para o evento limpar cache, o usuário deve implementar um método que tenha a mesma assinatura do CacheClearedCallback. O método a seguir deve ser implementado no aplicativo para realizar o processamento desejado quando a notificação de limpeza de cache for acionada.
// Register cache cleared event
// OnCacheCleared callback will be triggered on cache clear event
cache.NotificationService.CacheCleared += OnCacheCleared;
Note
Para garantir que a operação seja à prova de falhas, é recomendável lidar com possíveis exceções em seu aplicativo, conforme explicado em Como lidar com falhas.
Para receber o evento de limpeza de cache, a seguinte linha de código deve ser incorporada à aplicação:
// Perform the tasks after getting the cache clear event
Console.WriteLine("Cache has been cleared.");
Se você não quiser receber notificações sobre o evento de limpeza de cache, adicione a seguinte linha em seu aplicativo:
// UnRegister cache cleared event
cache.NotificationService.CacheCleared -= OnCacheCleared;
Evento de cache interrompido
Semelhante ao evento de limpeza de cache, você também pode receber notificações quando o cache for interrompido. O método a seguir deve ser implementado no aplicativo para realizar o processamento quando o cache parado for acionado.
// Register cache stopped event
// OnCacheStopped callback will be triggered when cache is stopped
cache.NotificationService.CacheStopped += OnCacheStopped;
Para receber o evento cache-stopped, a seguinte linha de código deve ser incorporada à aplicação:
// Perform the tasks after getting the cache stopped event
Console.WriteLine($"'{cacheName}' has been stopped.");
Se você não quiser receber notificações de eventos de interrupção de cache, adicione a seguinte linha em seu aplicativo:
// Un-Register cache stopped event
cache.NotificationService.CacheStopped -= OnCacheStopped;
Evento Associado a Membro
O usuário também pode ser notificado sempre que um membro ingressar em um cluster. O método a seguir deve ser implementado no aplicativo para executar o processamento quando um membro ingressar em um cluster.
// Perform task after Member Joined event gets fired
Console.WriteLine($"Node with IP:{nodeInfo.IpAddress} has joined the cluster.");
Para receber o evento de adesão do membro, a seguinte linha de código deve ser incorporada ao aplicativo:
// Register memebr join event
// OnMemeberJoined callback will be triggered when a new member joins cache
cache.NotificationService.MemberJoined += OnMemberJoined;
Se você não quiser receber notificações sobre eventos de participação de membros, adicione a seguinte linha ao seu aplicativo:
// Un-Register member join event
cache.NotificationService.MemberJoined -= OnMemberJoined;
Evento Membro Esquerdo
O usuário pode ser notificado sempre que um membro sai de um cluster. O método a seguir deve ser implementado no aplicativo para executar o processamento quando um membro sai de um cluster.
// Register memebr left event
// OnMemeberleft callback will be triggered when a member leaves cache
cache.NotificationService.MemberLeft += OnMemberLeft;
Para receber o evento member left, a seguinte linha de código deve ser incorporada na aplicação:
// Perform task after Member Left event gets fired
Console.WriteLine($"Node with IP:{nodeInfo.IpAddress} has left the cluster.");
Se você não quiser receber notificações sobre eventos de saída de membros, adicione a seguinte linha em seu aplicativo:
Recursos adicionais
NCache fornece um aplicativo de exemplo para notificações de eventos de nível de gerenciamento em GitHub.
Veja também
.INTERNET: Alachisoft.NCache.Tempo de execução.Eventos espaço para nome.
Java: com.alachisoft.ncache.eventos espaço para nome.