如何解决Apache Ignite RemoteListen .Net
我通过BAT文件启动了服务器,然后启动了客户端通过代码写入数据,并设置了到期时间。然后,我想通过订阅EVT_CACHE_OBJECT_EXPIRED
来跟踪客户端的过期条目,但是我发现https://issues.apache.org/jira/browse/IGNITE-1682-RemoteListen
已从Ignite.NET中删除,替代方案是什么?还是有什么例子可以看。
解决方法
您可以在服务器节点上使用LocalListen
,然后使用Ignite Messaging将事件通知客户端。
服务器
server.GetEvents().LocalListen(new EventListener(server.GetMessaging()),EventType.CacheObjectExpired);
...
public class EventListener : IEventListener<CacheEvent>
{
private readonly IMessaging _messaging;
public EventListener(IMessaging messaging)
{
_messaging = messaging;
}
public bool Invoke(CacheEvent evt)
{
_messaging.Send(evt.Key,"Expired");
return true;
}
}
客户
client.GetMessaging().LocalListen(new MessageListener(),"Expired");
...
public class MessageListener : IMessageListener<object>
{
public bool Invoke(Guid nodeId,object message)
{
Console.WriteLine("Expired: " + message);
return true;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。