我有一个版本为8.1.0的gemfire集群,运行着两台服务器和一个定位器。使用脉冲UI应用程序,我可以看到集群已经启动并运行。
从我的笔记本电脑上,我能够ping运行集群的RHEL unix盒的ip。
我也能够从我的笔记本电脑使用gfsh命令成功连接到集群:
gfsh
但是我尝试使用下面的Spring data gemfire cache xml从在我的笔记本电脑中运行的客户端Spring应用程序(使用Spring data gemfire 1.5.0. RELEASE)连接到集群:
客户端缓存xml如下:
<gfe:pool id="gemfire-pool" subscription-enabled="true" >
<gfe:locator host="locator-ip" port="locator-port"/>
</gfe:pool>
但我得到以下例外:
com.gemstone.gemfire.cache.client.NoAvailableLocatorsException: Unable to connect to any locators in the list [locator-host:15101, locator-ip/locator-ip:15101]
at com.gemstone.gemfire.cache.client.internal.AutoConnectionSourceImpl.findServer(AutoConnectionSourceImpl.java:136)
at com.gemstone.gemfire.cache.client.internal.ConnectionFactoryImpl.createClientToServerConnection(ConnectionFactoryImpl.java:206)
at com.gemstone.gemfire.cache.client.internal.pooling.ConnectionManagerImpl.borrowConnection(ConnectionManagerImpl.java:214)
一个类似的问题已经发布
Gemfire客户端服务器拓扑抛出异常
但是上面的错误是在ConnectionManagerImpl类中的不同方法中。
编辑:缓存xml有下面的client-cache声明:
<util:properties id="gemfire-props">
<prop key="log-level">error</prop>
</util:properties>
<gfe:client-cache id="gemfireCache" pool-name="gemfire-pool" properties-ref="gemfire-props">
<gfe:client-region id="skuInfoRegionBean" pool-name="gemfire-pool"
name="SKU_INFO" shortcut="CACHING_PROXY">
</gfe:client-region>
您运行的是什么版本的Spring Data GemFire和GemFire?此外,如果您可以共享您的Spring配置配置GemFire ClientCache(
我的理解是,您的集群运行在远程RHELUNIX机器上,而您的客户端运行在您的笔记本电脑上,对吗?
根据您的Gfshconnect
命令语法,您的Spring配置需要看起来类似于…
<gfe:pool ...>
<gfe:locator host="locator-ip" port="15101"/>
</gfe:pool>
<gfe:client-cache/>
...
"无法连接到列表中的任何定位器[locator-host: 15101,locator-ip/locator-ip:15101]"并且不太正确。
这是一个网络issue.It工作时,我尝试从办公室,但不在家通过VPN工作。