Java v3.8中缺少Hazelcast com.Hazelcast.core.MultiTask
我正在使用最新的Hazelcast v3.8,在Java v3.8中缺少Hazelcast com.Hazelcast.core.MultiTask,java,hazelcast,Java,Hazelcast,我正在使用最新的Hazelcast v3.8,在com.Hazelcast.core包或任何其他包中找不到MultiTask 最新版本的Hazelcast中的多任务的替代品是什么? 我想控制在哪些物理节点上运行我的任务。我发现了一个很好的例子 你可以看到一个很好的例子: public void echoOnMembers(String input, Set<Member> members) throws Exception { MultiTask<String> t
com.Hazelcast.core
包或任何其他包中找不到MultiTask
最新版本的Hazelcast中的多任务的替代品是什么?
我想控制在哪些物理节点上运行我的任务。我发现了一个很好的例子
你可以看到一个很好的例子:
public void echoOnMembers(String input, Set<Member> members) throws Exception {
MultiTask<String> task = new MultiTask<String>(new Echo(input), members);
ExecutorService executorService = Hazelcast.getExecutorService();
executorService.execute(task);
Collection<String> results = task.get();
}
public void echoOnMembers(字符串输入,集合成员)引发异常{
多任务任务=新多任务(新回显(输入),成员);
ExecutorService ExecutorService=Hazelcast.getExecutorService();
executorService.execute(任务);
收集结果=task.get();
}
现在我想要相同的代码,但它将在v3.8上工作。请帮助)
多任务
在3.0中被删除,以支持更具表现力、更直观的ExecutorService
API。您可以使用以下IExecutorService
方法:
void executeOnMembers(Runnable command, Collection<Member> members);
void executeOnMembers(Runnable command, MemberSelector memberSelector);
void executeOnAllMembers(Runnable command);
<T> Map<Member, Future<T>> submitToMembers(Callable<T> task, Collection<Member> members);
<T> Map<Member, Future<T>> submitToMembers(Callable<T> task, MemberSelector memberSelector);
<T> Map<Member, Future<T>> submitToAllMembers(Callable<T> task);
有关更多信息,请参阅Hazelcast文档和代码示例:
public void echoOnMembers( String input, Set<Member> members ) throws Exception {
HazelcastInstance hazelcastInstance = Hazelcast.newHazelcastInstance();
IExecutorService executorService =
hazelcastInstance.getExecutorService( "default" );
Map<Member, Future<String>> futures = executorService
.submitToMembers( new Echo( input ), members );
for ( Future<String> future : futures.values() ) {
String echoResult = future.get();
// ...
}
}