ApacheIgniteC#厚客户端:如何重新连接连续查询?
创始人
2024-09-06 01:00:40
0

当与Apache Ignite C# thick client建立连续查询时,如果客户端与服务器的连接意外中断,则需要重新连接并恢复查询。以下是一个示例代码,显示如何在重新连接后恢复查询。

// 创建一个新的ThinClient连接
using (var ignite = Ignition.Start(IsDebug ? GetIgniteConfiguration() : GetIgniteConfiguration().SetGridName(AppName)))
{
    // 获取缓存
    var cache = ignite.GetCache(CacheName);

    // 创建一个新的连续查询过滤器
    var fltr = new ContinuousQuerySingleFilter(e => e.Value.Name.StartsWith(FilterStarter));

    // 创建一个新的连续查询
    var qry = new ContinuousQuery(cache, fltr);

    // 在新线程上侦听新的查询事件
    Task.Factory.StartNew(() =>
    {
        foreach (var change in qry.GetInitialQueryCursor())
        {
            ProcessChange(change);
        }

        foreach (var change in qry.GetContinuousQueryCursor())
        {
            ProcessChange(change);
        }
    });

    // 循环直到收到关闭信号
    while (!Token.IsCancellationRequested)
    {
        // 检查连接是否有效
        if (!ignite.GetCluster().IsActive())
        {
            Console.WriteLine("Cluster is not active. Trying to reconnect...");

            // 创建一个新的ThinClient连接
            ignite.Dispose();
            ignite = Ignition.Start(IsDebug ? GetIgniteConfiguration() : GetIgniteConfiguration().SetGridName(AppName));

            // 获取缓存
            cache = ignite.GetCache(CacheName);

            // 需要重新创建和注册过滤器才能从Ignite服务器检索数据。
            // 我们将存储相同的过滤器作为一个缓存变量,并在重新连接时使用它。
            fltr = new ContinuousQuerySingleFilter(e => e.Value.Name.StartsWith(FilterStarter));

            qry = new ContinuousQuery(cache, fl

相关内容

热门资讯

三分钟软件!WEPOke辅助挂... 三分钟软件!WEPOke辅助挂(透视)扑克时间假假(一直真的有挂)1、这是跨平台的扑克时间黑科技,在...
1分钟黑科技!WePoKer辅... 1分钟黑科技!WePoKer辅助挂(透视)微扑克有辅助软件(都是真的有挂);人气非常高,ai更新快且...
三分钟免费!wepoke辅助挂... 三分钟免费!wepoke辅助挂(透视)aapoker安卓版辅助(一般真的有挂)是一款可以让一直输的玩...
三分钟口控制!wEPOKE辅助... 三分钟口控制!wEPOKE辅助挂(透视)wpk德州扑克(原来真的有挂)1、德州扑克ai机器人多个强度...
九分钟识别!we辅助poker... 九分钟识别!we辅助poker辅助挂(透视)wpk辅助(果然真的有挂)1、不需要AI权限,帮助你快速...
4分钟插件!wepoke辅助挂... 4分钟插件!wepoke辅助挂(透视)wepoke挂真的假的(一贯真的有挂);人气非常高,ai更新快...
一分钟德州!wepoke辅助挂... 一分钟德州!wepoke辅助挂(透视)pokermastersteam外挂(一般真的有挂);一分钟德...
1分钟插件!WePoke辅助挂... 1分钟插件!WePoke辅助挂(透视)pokernow可以加注(都是真的有挂)是一款可以让一直输的玩...
4分钟游戏!wepoker辅助... 4分钟游戏!wepoker辅助挂(透视)微扑克必胜技巧(一般真的有挂)1、微扑克ai机器人多个强度级...
十分钟识别!Wpk辅助挂(透视... 十分钟识别!Wpk辅助挂(透视)wepoke挂真的假的(总是真的有挂)您好,wepoke,确实是有挂...