Continuation クラス
名前空間
例
コードの例については、「Visualforce ページでの長時間コールアウトの実行」を参照してください。
Continuation のコンストラクタ
Continuation のコンストラクタは次のとおりです。
Continuation(timeout)
署名
public Continuation(Integer timeout)
パラメータ
- timeout
- 型: Integer
- この継続のタイムアウト (秒)。
Continuation のプロパティ
Continuation のプロパティは次のとおりです。
state
署名
public Object state {get; set;}
プロパティ値
型: Object
例
次の例に、コントローラで継続の状態情報を保存する方法を示します。
1// Declare inner class to hold state info
2private class StateInfo {
3 String msg { get; set; }
4 List<String> urls { get; set; }
5 StateInfo(String msg, List<String> urls) {
6 this.msg = msg;
7 this.urls = urls;
8 }
9}
10
11// Then in the action method, set state for the continuation
12continuationInstance.state = new StateInfo('Some state data', urls);Continuation のメソッド
Continuation のメソッドは次のとおりです。
addHttpRequest(request)
署名
public String addHttpRequest(System.HttpRequest request)
パラメータ
- request
- 型: HttpRequest
- この継続によって外部サービスに送信される HTTP 要求。
戻り値
型: String
この継続に関連付けられている HTTP 要求を特定する一意の表示ラベル。この表示ラベルは、継続内で個々の要求を特定するために getRequests() から返される対応付けで使用されます。
使用方法
継続には最大 3 個の要求を追加できます。
getResponse(requestLabel)
署名
public static HttpResponse getResponse(String requestLabel)
パラメータ
- requestLabel
- 型: String
- 応答を取得する要求ラベル。
戻り値
型: HttpResponse
使用方法
状況コードは、HttpResponse オブジェクトに返され、応答で getStatusCode() をコールすることによって取得できます。状況コード 200 は、要求が正常に行われたことを示します。他の状況コードの値は、発生した問題の種別を示します。
エラー状況コードのサンプル
応答で問題が発生した場合、使用される状況コードの値は次のとおりです。
- 2000: タイムアウトになり、サーバが応答するのに間に合わなかった。
- 2001: 接続障害が発生した。
- 2002: 例外が発生した。
- 2003: 応答が到着しなかった (Apex 非同期コールアウトフレームワークが再開されていないことも示します)。
- 2004: 応答のサイズが大きすぎる (1 MB を超えている)。