2014-09-25 56 views
0

我想加载一个Java对象到GridGain缓存(分区)。我正在使用命令行遮阳板来检查缓存。它显示有写入和未命中(仅运行缓存命令),但没有条目。GridGain缓存putX返回成功,但没有在缓存中的条目

我已经尝试使用GridDataLoader接口,cache.put和批处理存储(整数,字符串)对缓存和它作品,我可以通过护目镜看到条目。但我不能做存储自定义Java对象

我尝试了org.gridgain.examples.CacheQueryExample的欢迎,并不太了解它如何存储在缓存中的条目但它visorcmd(命令行遮阳帽)报告没有条目。

我试过使用GridDataLoader,缓存放置和批量抓取放置,所有返回没有错误(或成功状态,如适用,如与cache.put()),但我看不到分区缓存中的条目时,通过命令行遮阳板

+0

你可以发布你的代码作为例子,并缩小问题的范围到一个特定的,可重现的问题? – JustinJDavies 2014-09-25 22:34:02

+0

@JustinJDavies我认为它与GridGain提供的QueryingExample在开源版本中有关。我的代码(发布在上面的编辑中)和它们的查询示例(它们将对象存储到缓存中然后查询对象)实际上都会生成任何条目。 只有当我将键和值转换为字符串,而不是原来的UUID类和FlatView类(我的自定义类)时,才能生成条目(如命令行视觉通过“缓存”命令所显示的那样) – 2014-09-26 00:13:12

回答

0

我认为你遇到了同类加载的情况,并且在类加载的源节点离开时自动取消部署。这是送给你的配置所需的行为,但我认为在节点日志消息应该反映(我已经提到它的GridGain队)

几种方法来避免它:

  1. 启动来自IDE的节点,因此所有类都位于所有节点上的类路径中。
  2. 将您的JAR文件复制到GridGain安装的libs文件夹中。这样,类将再次在所有节点上,并且不会使用同级加载。
  3. 将配置中的部署模式从SHARED更改为CONTINUOUS,在这种情况下,GridGain不会自动取消部署类,而且在开发过程中进行更改时不会自动部署新类。
+0

谢谢!问题在于部署模式。 – 2014-09-26 17:24:18