管理レベルのイベント通知
キャッシュのクリア、キャッシュの停止、メンバーの参加/離脱などの管理操作のイベントを登録できます。ここでは、管理レベルのイベント通知を登録および登録解除する方法について説明します。
管理レベルのイベント通知を構成するための前提条件
- すべてを使用するために必要な標準的な前提条件について学習するには NCache クライアント側の機能については、次のページを参照してください。 クライアント側 API の前提条件.
- ユーザーとの強い関係を維持するために、 イベント通知を有効にする NCache 管理センター。
- APIの詳細については、以下を参照してください。 Iキャッシュ, キャッシュ項目, メンバー加入, メンバー左, キャッシュ停止, キャッシュクリア済み.
キャッシュクリアイベント
場合によっては、キャッシュがクリアされたときにアプリケーションに通知を受け取る必要があります。キャッシュクリアイベントの場合、ユーザーは、キャッシュクリアイベントと同じシグネチャを持つメソッドを実装する必要があります。 キャッシュクリアコールバック。キャッシュクリア通知が発行されたときに必要な処理を実行するには、次のメソッドをアプリケーションに実装する必要があります。
// Register cache cleared event
// OnCacheCleared callback will be triggered on cache clear event
cache.NotificationService.CacheCleared += OnCacheCleared;
Note
操作がフェイルセーフであることを保証するために、で説明されているように、アプリケーション内の潜在的な例外を処理することをお勧めします。 失敗の処理.
キャッシュ クリア イベントを受信するには、次のコード行をアプリケーションに組み込む必要があります。
// Perform the tasks after getting the cache clear event
Console.WriteLine("Cache has been cleared.");
キャッシュクリアイベントの通知を受け取りたくない場合は、アプリケーションに次の行を追加します。
// UnRegister cache cleared event
cache.NotificationService.CacheCleared -= OnCacheCleared;
キャッシュ停止イベント
キャッシュクリアイベントと同様に、キャッシュが停止したときに通知を受け取ることもできます。キャッシュ停止発生時の処理を行うには、アプリケーションに以下のメソッドを実装する必要があります。
// Register cache stopped event
// OnCacheStopped callback will be triggered when cache is stopped
cache.NotificationService.CacheStopped += OnCacheStopped;
キャッシュ停止イベントを受信するには、次のコード行をアプリケーションに組み込む必要があります。
// Perform the tasks after getting the cache stopped event
Console.WriteLine($"'{cacheName}' has been stopped.");
キャッシュ停止イベントの通知を受け取りたくない場合は、アプリケーションに次の行を追加します。
// Un-Register cache stopped event
cache.NotificationService.CacheStopped -= OnCacheStopped;
メンバーがイベントに参加しました
メンバーがクラスターに参加するたびに、ユーザーは通知を受け取ることもできます。メンバーがクラスターに参加するときに処理を実行するには、アプリケーションに次のメソッドを実装する必要があります。
// Perform task after Member Joined event gets fired
Console.WriteLine($"Node with IP:{nodeInfo.IpAddress} has joined the cluster.");
メンバー参加イベントを受信するには、次のコード行をアプリケーションに組み込む必要があります。
// Register memebr join event
// OnMemeberJoined callback will be triggered when a new member joins cache
cache.NotificationService.MemberJoined += OnMemberJoined;
メンバーが参加したイベントの通知を受け取りたくない場合は、アプリケーションに次の行を追加します。
// Un-Register member join event
cache.NotificationService.MemberJoined -= OnMemberJoined;
メンバー左イベント
ユーザーは、メンバーがクラスターから離れるたびに通知を受け取ることができます。メンバーがクラスターから離脱するときに処理を実行するには、次のメソッドをアプリケーションに実装する必要があります。
// Register memebr left event
// OnMemeberleft callback will be triggered when a member leaves cache
cache.NotificationService.MemberLeft += OnMemberLeft;
メンバー脱退イベントを受信するには、次のコード行をアプリケーションに組み込む必要があります。
// Perform task after Member Left event gets fired
Console.WriteLine($"Node with IP:{nodeInfo.IpAddress} has left the cluster.");
メンバー脱退イベントの通知を受け取りたくない場合は、アプリケーションに次の行を追加します。
その他のリソース
NCache 管理レベルのイベント通知のサンプル アプリケーションを提供します。 GitHubの.
も参照してください
。ネット: Alachisoft.NCache.ランタイム.イベント 名前空間
Java: comの。alachisoft.ncache.イベント 名前空間