Apache Geode RegionExistsException
Apache Geode RegionExistsException
在 Pivotal Native Client 中,我设置了一种读写 Geode 缓存区域的方法,如下所示:
public void GeodePut(string region, string key, string value)
{
CacheFactory cF = CacheFactory.CreateCacheFactory();
Cache c cF.Create();
RegionFactory rF = c.CreateRegionFactory(RegionShortcut.CACHING_PROXY);
IRegion<string, string> r = rF.Create<string, string>(region);
r[key] = value;
cache.Close();
}
当我多次调用它时,我得到 RegionExistsException
我该如何解决这个问题?谢谢
与cache.Close()
命令有关。我不再使用 cache.Close()
解决方法很简单。
添加一个 try-catch 块来捕获 RegionExistsException,然后在 catch 段中将 'create' 方法替换为 'get'。
改变这个:rF.Create
为此:rf.get
使用 Java 效果很好,我会 post 您需要的方法的确切签名,但我没有使用 .Net 本机客户端。
希望对您有所帮助:)
在 Pivotal Native Client 中,我设置了一种读写 Geode 缓存区域的方法,如下所示:
public void GeodePut(string region, string key, string value)
{
CacheFactory cF = CacheFactory.CreateCacheFactory();
Cache c cF.Create();
RegionFactory rF = c.CreateRegionFactory(RegionShortcut.CACHING_PROXY);
IRegion<string, string> r = rF.Create<string, string>(region);
r[key] = value;
cache.Close();
}
当我多次调用它时,我得到 RegionExistsException
我该如何解决这个问题?谢谢
与cache.Close()
命令有关。我不再使用 cache.Close()
解决方法很简单。 添加一个 try-catch 块来捕获 RegionExistsException,然后在 catch 段中将 'create' 方法替换为 'get'。 改变这个:rF.Create 为此:rf.get 使用 Java 效果很好,我会 post 您需要的方法的确切签名,但我没有使用 .Net 本机客户端。
希望对您有所帮助:)