使用C#客户端。
我正在尝试获取hazelcast数据并将其显示在数据表中。因此,我绝对需要对大型地图使用分页。我遇到过PagingPredicate。并修改了我的模型和存储库代码。但是,奇怪的是,它仅在条目数少于特定数目时才起作用。错误是“找不到工厂ID为5的便携式工厂”
我实际上在启动时使用以下代码设置了工厂ID。
clientConfig.GetSerializationConfig().AddPortableFactory(classId, portableInstance);
我的CommInfoImdb实现了IPortable,并且模型具有工厂ID和类ID。
从下图可以看到,当地图有21个条目时,分页成功完成。 (我知道这很奇怪,但之前的数字是36,是的,我已经检查过数据,没有任何相关信息。)但是,如果条目多于21,它将引发可移植的工厂异常。
在某些情况下,请参见以下图片。
当我设置PagingPredicate的Page属性时,下面的异常引发。
据我所知,调试代码时,它在SerializeableFactory方法中确实 输入,并在条目数少于21(在这种情况),并且如果我不使用PagingPredicate使用Map.Values(),但是它不输入SerializeableFactory方法,因此有时在我使用Map.Values(pagingPredicate)时不创建实例在这种情况下,如果条目数大于21。