私は1 WMを持っているために参加する:WebSphereのワークマネージャは、いくつかの方法で作品を開始し、多くのスレッド
public void someMethod(Params pararms){
WorkManager wm = (WorkManager) ic.lookup(CONTROL_WORK_MANAGER);
ArrayList<WorkItem> workItems = Lists.newArrayList();
List<Work> works = getSomeWorks();
for (Work work : works) {
workItems.add(wm.startWork(work));
}
//after all works have been started, I just wait for them to be finished using join method:
wm.join(workItems, WorkManager.JOIN_AND, (int) WorkManager.INDEFINITE);
// "other code"
}
someMethod()
は、与えられた作品は完成させるためだけ待たずに別のスレッドによって呼び出され、問題がwm.join()
ですしかし、すべてのスレッドによって開始されたすべての作業について。 最終的に"other code"
は、アプリ内のすべての作業が終了すると実行されます。
それはそれがすべき方法ですか?もしそうなら、私はそれを修正することができますので、wm.join()
は "その"作業が完了するのを待つだけですか?
はバージョンWAS 8.5.5.11
ありがとうです!
ありがとう、本当に便利です! – SergeiK