【发布时间】:2013-11-09 07:06:26
【问题描述】:
我无法理解 Hazelcast 分布式执行的概念。据说能够对特定密钥的所有者实例执行执行。
来自文档:
<T> Future<T> submitToKeyOwner(Callable<T> task, Object key)
Submits task to owner of the specified key and returns a Future representing that task.
Parameters:
task - task
key - key
Returns:
a Future representing pending completion of the task
我相信并不是只有我一个人拥有一个由多个地图构建的集群,这些地图实际上可能出于不同目的使用相同的密钥,持有不同的对象(例如,以下设置中的某些东西):
IMap<String, ObjectTypeA> firstMap = HazelcastInstance.getMap("firstMap");
IMap<String, ObjectTypeA_AppendixClass> secondMap = HazelcastInstance.getMap("secondMap");
对我来说,文档中有关密钥所有者的内容似乎很令人困惑。我真正感到沮丧的是,我不知道它指的是哪个 - 在哪个地图中 - 键?
该文档还提供了这种方法的“演示”:
import com.hazelcast.core.Member;
import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.IExecutorService;
import java.util.concurrent.Callable;
import java.util.concurrent.Future;
import java.util.Set;
import com.hazelcast.config.Config;
public void echoOnTheMemberOwningTheKey(String input, Object key) throws Exception {
Callable<String> task = new Echo(input);
HazelcastInstance hz = Hazelcast.newHazelcastInstance();
IExecutorService executorService = hz.getExecutorService("default");
Future<String> future = executorService.submitToKeyOwner(task, key);
String echoResult = future.get();
}
这是文档站点的链接:Hazelcast MultiHTML Documentation 3.0 - Distributed Execution
你们有没有人在过去弄清楚它想要什么键?
【问题讨论】:
标签: java key execution hazelcast owner