首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java连接gemfire

Java连接gemfire
EN

Stack Overflow用户
提问于 2017-07-01 23:01:05
回答 2查看 1.7K关注 0票数 2

我创建了一个测试gemfire服务器。

gfsh>start定位器--名称=测试--绑定地址=localhost-端口=40404

我的java代码是:

代码语言:javascript
复制
    ClientCacheFactory cf =  new ClientCacheFactory().addPoolServer( "localhost", 40404);
    ClientCache cache = cf.setPdxReadSerialized( true).create();
    ClientRegionFactory rf = cache.createClientRegionFactory(ClientRegionShortcut.PROXY);

    Region region = rf.create( "People");

但是我试着跑,它没有连接gemfire定位器。我不知道怎么做?

代码语言:javascript
复制
 [warn 2017/07/02 06:53:51.363 HKT <poolTimer-DEFAULT-2> tid=0x17] Could not connect to: localhost:40404
java.io.EOFException
at java.io.DataInputStream.readByte(DataInputStream.java:267)
at com.gemstone.gemfire.internal.cache.tier.sockets.HandShake.greet(HandShake.java:1291)
at com.gemstone.gemfire.cache.client.internal.ConnectionImpl.connect(ConnectionImpl.java:111)
at com.gemstone.gemfire.cache.client.internal.ConnectionFactoryImpl.createClientToServerConnection(ConnectionFactoryImpl.java:134)
at com.gemstone.gemfire.cache.client.internal.ConnectionFactoryImpl.createClientToServerConnection(ConnectionFactoryImpl.java:252)
at com.gemstone.gemfire.cache.client.internal.pooling.ConnectionManagerImpl.prefillConnection(ConnectionManagerImpl.java:794)
at com.gemstone.gemfire.cache.client.internal.pooling.ConnectionManagerImpl.prefill(ConnectionManagerImpl.java:737)
at com.gemstone.gemfire.cache.client.internal.pooling.ConnectionManagerImpl$PrefillConnectionsTask.run2(ConnectionManagerImpl.java:888)
at com.gemstone.gemfire.cache.client.internal.PoolImpl$PoolTask.run(PoolImpl.java:1260)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)

信息2017/07/02 06:53:51.421 HKT tid=0xc VM正在退出-关闭分布式系统

信息2017/07/02 06:53:51.422 HKT tid=0xc GemFireCacheid = 915500720;isClosing = true;isShutDownAll = false;closingGatewayHubsByShutdownAll = false;created = Sun 702:53:51 HKT 2017;server = false;copyOnRead = false;lockLease = 120;lockTimeout = 60: Now。

信息2017/07/02 06:53:51.436 HKT tid=0xc重置池PS老Gen上的原始MemoryPoolMXBean堆阈值字节0

资讯2017/07/02 06:53:51.467 HKT tid=0xc销毁连接池预设

EN

回答 2

Stack Overflow用户

发布于 2017-07-02 01:04:32

看起来您可能没有创建任何服务器(服务器保存数据,定位器帮助客户端和其他集群成员找到服务器)。如果没有,那么您还需要启动至少一个服务器。请查看文档,但是应该是这样的:"gfsh start server --name=server 1 --dir=workdir --locator=localhost40404 --server-port=1234“

票数 0
EN

Stack Overflow用户

发布于 2017-07-03 02:22:39

我使用java配置bean来连接定位器,它仍然连接失败。但是当我使用CacheFactory创建cache.xml时。举例说明。

代码语言:javascript
复制
clientCacheFactory.set("cache-xml-file", "gemfire-clientCache.xml");

它可以连接

代码语言:javascript
复制
<pool name="client"
        subscription-enabled="true">
    <locator host="172.16.175.145" port="10334"/>
</pool>
<region name="test" refid="PROXY"/>
<region name="test1" refid="PROXY">
</region>

但是当我使用clientCacheFactory.addLocators()时,不要设置cache.xml.it不能连接成功

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44866089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档