2017-03-08 26 views
0

私は最新のHazelcast v3.8を使用しており、MultiTaskcom.hazelcast.coreパッケージ内または他のパッケージに見つけることができません。Hazelcast com.hazelcast.core.MultiTaskはv3.8には存在しません

最新のバージョンのHazelcastでは、MultiTaskをどのように置き換えていますか?

タスクを実行する物理ノードを制御したいと考えています。私はHazelcast distributed executor in useという素晴らしい例を見つけました。

あなたはそこに素敵な例を見ることができます:

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(); 
} 

は、今私は同じコードをしたいが、V3.8上で動作しますました。助けてください)

答えて

12

MultiTaskは、より表現力豊かで簡単なAPIのために3.0で削除されました。ExecutorService次の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); 

また、上記のメソッドのコールバックバージョンがあります。詳細情報については以下を参照してください http://docs.hazelcast.org/docs/latest/javadoc/com/hazelcast/core/IExecutorService.html

ドロップインechoOnMembers(...)例えば交換は次のとおりです。

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(); 
    // ... 
    } 
} 

を参照してください詳細はHazelcastのドキュメントやコードサンプル: http://docs.hazelcast.org/docs/latest/manual/html-single/index.html#executing-code-in-the-cluster

https://github.com/hazelcast/hazelcast-code-samples/tree/master/distributed-executor

関連する問題