AsyncResultクラスのアイデアがわかりません。チュートリアルから、FutureTaskクラスと同じように機能することがわかりました(ただし、AsyncResultはシリアル化できるため、ローカルまたはリモートのクライアントに送信できます)。ただし、docによると、このクラスのメソッドを呼び出すべきではないため、このクラスのインスタンスを作成して返すことしかできません。
@Asynchronous
public Future<String> processPayment(Order order) throws PaymentException {
...
String status = ...;
return new AsyncResult<String>(status);
}
では、クライアントはどのようなオブジェクトを取得しますか?
書けますか
@Asynchronous
public AsyncResult<String> processPayment...
?。
コンテナは、AsyncResultまたはFutureのcancel(false)
メソッドを呼び出した後、非同期タスクをキャンセルするために何かをしますか?
編集:私はこのスレッド で答えを見つけました。