exception - 使用本地缓存时的 Gemfire NoAvailableServerException
问题描述
我有动态配置,它们将使用服务器缓存或本地缓存来存储 gemfire dao 对象。当我打电话时:
Query query = queryService.newQuery(queryString);
results = (SelectResults) query.execute();
为本地缓存配置时,我收到“NoAvailableServerException”。如果我为实际的 Gemfire 服务器配置,一切正常。如果我将上述内容更改为使用区域查询:
results = region.query(queryString);
该代码将在本地缓存上运行:但是,我不想更改原始代码并希望尽可能利用 QueryService。我配置了我的本地缓存:
<gfe:client-cache id="cache" />
我用一个池配置了我的服务器缓存:
<gfe:client-cache id="dev-client-cache" pool-name="dev-pool" pdx-read-serialized="false" pdx-serializer-ref="pdxAutoSerializer" />
这些语句都是按照本地缓存运行的。region.query 将工作并返回正确的数据。query.execute 将失败并出现 NoAvailableServerException。
SelectResults<AA> results
Region<Object, Object> region = getCache().getRegion(AA.class.getSimpleName());
results = region.query(queryString);
QueryService queryService = getCache().getQueryService();
Query query = queryService.newQuery(queryString);
results = (SelectResults) query.execute();
让 QueryService 在我的本地缓存上工作我缺少什么吗?
解决方案
默认情况下QueryService
,ClientCache
除非另有指示,否则将尝试在任何可用服务器上执行查询。您能否发布一段代码,展示您如何构建/获取实际实例?您是否尝试过使用返回QueryService
的查询来执行查询?干杯。QueryService
ClientCache.getLocalQueryService()
推荐阅读
- php - 需要帮助将旧 php 代码转换为 php 7.4.2
- azure - 如何使用从 Ids 重定向 URL 的动态解析器通过 Azure CDN 提供静态内容?
- ckeditor - CKEditor 5 - 将每个文本节点包装在 span 中
- python - django 测试运行器在 py2 版本上看不到测试,但在 py3 上看到它们
- postgresql - 如何将数据插入数据库,如 G2-01、G2-02
- python - 如何通过单击python标签中的按钮开始录制
- flutter - 颤动想要在其孩子上调用父视图以刷新主视图
- java - 如何从常量值类分配清单中的 API 密钥?
- ios - SwiftUI 绑定到计算属性?
- php - Imagick 文本覆盖每一帧