内部クラスを呼び出して、将来のタスクとして実行しています。
Runnable r = new sendEmails(ids);
FutureTask task = new FutureTask(r, null);
ExecutorService scheduler = Executors.newCachedThreadPool();
scheduler.submit(task);
これは次のようになります。
private class sendLGORejectionEmails implements Runnable {
private final String ids;
private sendLGORejectionEmails(String param) {
ids = param;
}
public void run() {
for (int i; i<=num_o_emails; i++) {
Code that send emails and use 'ids' to do it;
}
}
}
タスクがスケジューラーに送信された後、コードはユーザーをそのページからWebページに転送します。ajaxを使用して送信されている電子メール(プログレスバー)をチェックしたいので、getを使用してタスクかどうかを確認できます。完了したかどうかはわかりませんが、ループの処理中にiの値を要求できるようにしたいのです。そうすれば、一連のajax投稿を作成して、iを進捗ポイントに変換できます。タスクの実行中にiの値を確認する呼び出しを行うにはどうすればよいですか?