プラグインの 1 つを非同期の位置に再登録した顧客と話していますが、彼らはその経験が「奇妙な動作」であると主張しています。説明によると、非同期プラグイン(メッセージ作成)で例外がスローされた場合、プロセスはロールバックされないようです。インスタンスが作成されます。
それは意図した動作ですか?もしそうなら、それを止めるために何ができるでしょうか?
プラグインの 1 つを非同期の位置に再登録した顧客と話していますが、彼らはその経験が「奇妙な動作」であると主張しています。説明によると、非同期プラグイン(メッセージ作成)で例外がスローされた場合、プロセスはロールバックされないようです。インスタンスが作成されます。
それは意図した動作ですか?もしそうなら、それを止めるために何ができるでしょうか?
非同期プラグインは、メイン操作トランザクション内では実行されません。これは、例外がスローされたときにメイン操作がロールバックされないことを意味します。
一般的な例は、新しいアカウントが作成されたときにプラグイン内でタスクを作成することです:
プラグインが同期で、プラグインでInvalidPluginExecutionException
がスローされた場合、アカウントとタスクの両方が作成されず、ユーザーにエラーが表示されます。
プラグインが非同期で、プラグインでInvalidPluginExecutionException
がスローされた場合、アカウントは作成されますが、タスクは作成されず、ユーザーにエラーは表示されません。