在运行时将缓存添加到GridGain /在运行时重新配置GridGain

时间:2014-05-27 02:23:10

标签: gridgain

是否有一种在运行时为GridGain重新配置GridCacheConfiguration的方法?

最终目标是在启动Grid后能够在运行时添加网格缓存。

final GridConfiguration gridConfiguration = new GridConfiguration();
gridConfiguration.setMarshaller(new GridOptimizedMarshaller());
Grid grid = GridGain.start(gridConfiguration);
...

<later on>
GridCacheConfiguration newCacheConfig = ...; //defines newConfig
grid.configuration().setCacheConfiguration(newCacheConfig);

grid.cache("newConfig"); // <-- throws a cache not defined error!

1 个答案:

答案 0 :(得分:1)

添加缓存通常与处理不同的数据类型(泛型)有关,GridGain使用GridCacheProjections进行处理,如下所示:

GridCacheProjection<Integer, MyType> prj = cache.projection(Integer.class, MyType.class);

您可以根据需要从同一缓存创建任意数量的不同投影。除了指定数据类型之外,您还可以使用投影来打开和关闭缓存标志,或者使用投影过滤器为缓存提供过滤后的视图。