【问题标题】:Could not collect remote Gemfire Cache Server无法收集远程 Gemfire 缓存服务器
【发布时间】:2014-07-28 09:51:35
【问题描述】:

我正在研究 Gemfire 和 Spring 数据缓存。我已经从 Spring 成功启动了本地缓存服务器。但是我无法使用以下配置连接到远程缓存服务器。但是我可以使用 Gfsh 连接远程服务器--> connect --locator = remoteer IP[10334]

<gfe:client-cache   id="client-cache"   pool-name="my-pool">
</gfe:client-cache>

<gfe:pool   id="my-pool" subscription-enabled="true">
    <gfe:locator host="remote ip" port="10334"  />
</gfe:pool>

<gfe:client-region id="Customer" name="Customer" cache-ref="client-cache">
    <gfe:cache-listener>
        <bean   class="com.demo.util.LoggingCacheListener"  />
    </gfe:cache-listener>
</gfe:client-region>

<bean   id="cacheManager"
    class="org.springframework.data.gemfire.support.GemfireCacheManager">
    <property   name="regions">
        <set>
            <ref bean="Customer" />
        </set>
    </property>
</bean>  

问题日志是“无法将池预填充到最低限度,因为: com.gemstone.gemfire.cache.client.NoAvailableLocatorsException: 无法连接到列表中的任何定位器 [remoeserver:10334]"

在我的桌面上启动另一个定位器和服务器后,Spring 可以连接集群。但它表示当 Spring @Cachable 被解雇时该区域不存在。错误日志是请求处理失败;嵌套异常是“在获取请求期间未找到名为 /Customer/Customer 的区域”。区域名称应为 /Customer。

【问题讨论】:

    标签: gemfire spring-data-gemfire


    【解决方案1】:

    客户端区域只是缓存服务器上配置的主区域(例如,分区或复制区域)的代理。服务器还必须配置为使用相同的定位器地址。

    【讨论】:

    • 是的,在我的桌面上启动定位器和服务器后就可以连接了。定位器与远程定位器一起加入了集群。我可以成功地使用 GFSH 放置密钥。但是,我不明白为什么它在 Spring 中搜索 /Customer/Customer 区域而不是 /Customer 区域。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-04
    • 2022-01-12
    相关资源
    最近更新 更多