仅对群集中的某些节点进行Hazelcast IAtomicReference

时间:2016-03-30 12:36:39

标签: hazelcast

我在Hazelcast群集中有一个IAtomicReference。

IAtomicReference<Monitor> ref = ...

当我使用alterAndGet更新值时,IFunction<Monitor, Monitor>将传递给分布式原子引用。

提供的功能可以在群集中的任何Hazelcast节点上执行,但我想确保它仅在某些节点上执行(8个总节点中的节点1,2,3或4)

我的理解是Hazelcast可以选择将IAtomicReference存储在任何节点上,这是将执行提供的更改功能的节点。所以我想我需要的是指定IAtomicReference可能只存储在某些节点上。

也许值得一提的是,其他节点(5,6,7和8)根本不需要访问IAtomicReference。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

如果您依赖分区,则无法完美控制,因为分区可以四处移动。所以在某些时候它可能在成员1,但片刻之后它可能在成员2。

如果你真的想控制任务的运行位置;你可以看一下IExecutorService.submit(task,somemember)