Future Annotationによる非同期処理についてです。Apexクラスで非同期処理を実行したい場合はメソッドの上で「@future」を宣言します。 Future Annotation http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_classes_annotation_future.htm サンプルソースです。 上記サンプルでこんな画面が表示されます。 ボタンをクリックすると非同期処理が実行されます。 実行時のログはこんな感じです。 取引先の登録も行われます。 注意 非同期処理のテストクラスを作成するときはTest.stopTest();の後に System.assertEqualsで検証します。Test.stopTest();の後なら非同期処理完了後の正常な結果を取得して検証できます。 一度のトラ
Apexトリガから外部サービスを呼び出したい(HTTPコールアウト)場合、トリガ内で直接HTTPコネクションを開くことはできないようです。 オブジェクトが削除されたタイミング(AfterDelete)でオブジェクトに関連付けられたAmazonS3上の画像ファイルを削除する処理をトリガ内にベタで書いてみたところ、以下のようなエラーになり失敗しました。 System.CalloutException: Callout from triggers are currently not supported” ふむ。一見すると絶望しそうなメッセージですが、ググると解決法がありました。 こちらのページで解説されている通り、外部サービスを呼び出す処理は@futureな非同期メソッドとして定義すると良いようです。HTTPコールアウトしますので、callout=trueオプションも指定する必要があります。 ト
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く