【Salesforce】Future method cannot be called from a future or batch method

【Salesforce】Future method cannot be called from a future or batch method

Apexのバッチ処理にてエラーが発生しました。

特に難しい処理はないバッチだったのですが、エラーを見るとこんなメッセージが出ていました。

 
Future method cannot be called from a future or batch method: Class.Method

https://developer.salesforce.com/docs/atlas.ja-jp.apexcode.meta/apexcode/apex_invoking_future_methods.htm

バッチ処理や非同期処理から非同期処理を呼ぶことはできないということですね。

久しぶりに見たエラーだったりします。

作った人に話を聞くと、呼び出しが行われていたメソッドに後からアノテーションを付与したとのことです。

複数の場所から呼び出されているメソッドを変更するときは気を付けなければいけませんね。

呼び出されていた処理は非同期にする必要がない処理だったため、同期処理で同じメソッドを作成して解決しました。

バッチから非同期処理を呼び出したいときは、さらに別のバッチを呼び出す等の方が良さそうですね。

No comments.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です