Future アノテーション
非同期で実行するメソッドを特定するには Future アノテーションを使用します。Future を指定すると、Salesforce に使用可能なリソースが存在するときにこのメソッドが実行されます。
たとえば、外部サービスへの非同期の Web サービスコールアウトを実行するときに Future アノテーションを使用できます。このアノテーションを使用しない場合、Web サービスコールアウトは Apex スクリプトを実行している同じスレッドから実行され、コールアウトが完了するまで他の処理は実行されません (同期処理)。
Future アノテーションのあるメソッドは静的メソッドである必要があり、void 型のみを返します。指定するパラメーターはプリミティブデータ型、プリミティブデータ型の配列、プリミティブデータ型のコレクションである必要があります。Future アノテーションのあるメソッドは、sObject またはオブジェクトを引数として取ることはできません。
クラスのメソッドを非同期に実行するには、Future アノテーションのあるメソッドを定義します。次に例を示します。
Future メソッドでコールアウトを許可するには、(callout=true) を指定します。デフォルトは (callout=false) です。このデフォルトでは、メソッドはコールアウトを実行できません。
次のスニペットでは、メソッドがコールアウトを実行するように指定する方法を示します。