使用本地缓存时,Gemfire NoAvailableServerException

问题描述 投票:0回答:1

我有动态配置,这些配置将对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" />

是否缺少使QueryService在本地缓存上运行的功能?

exception spring-data gemfire
1个回答
0
投票

默认情况下,除非另有说明,否则QueryService使用的ClientCache将尝试在任何可用服务器上执行查询。您是否可以张贴代码片段来显示如何构造/获取实际的QueryService实例?您是否尝试过使用QueryService返回的ClientCache.getLocalQueryService()执行查询?干杯。

© www.soinside.com 2019 - 2024. All rights reserved.