我在Hazelcast群集中有一个IAtomicReference。
IAtomicReference<Monitor> ref = ...
当我使用alterAndGet
更新值时,IFunction<Monitor, Monitor>
将传递给分布式原子引用。
提供的功能可以在群集中的任何Hazelcast节点上执行,但我想确保它仅在某些节点上执行(8个总节点中的节点1,2,3或4)
我的理解是Hazelcast可以选择将IAtomicReference存储在任何节点上,这是将执行提供的更改功能的节点。所以我想我需要的是指定IAtomicReference可能只存储在某些节点上。
也许值得一提的是,其他节点(5,6,7和8)根本不需要访问IAtomicReference。
我怎样才能做到这一点?
答案 0 :(得分:1)
如果您依赖分区,则无法完美控制,因为分区可以四处移动。所以在某些时候它可能在成员1,但片刻之后它可能在成员2。
如果你真的想控制任务的运行位置;你可以看一下IExecutorService.submit(task,somemember)