ビジネスクラス再試行機能は、ビジネスクラスが例外を発生した場合に、ビジネスクラスを再度実行する機能です。 ロック中のデータベースにアクセスできなかったなどの原因で、ビジネスクラスを再度実行すれば正常終了する可能性があるエラーが発生した場合に、その処理を再実行してエラーを回避するために本機能を使用します。
ビジネスクラス再試行機能を使用すると、以下の条件でビジネスクラスが再試行されます。
ビジネスクラスのうちコマンドマップで指定されたもの(以降、ビジネスメソッドと呼びます)が、例外としてjava.lang.Exceptionまたはそのサブクラスを発生した場合。ただしjava.lang.RuntimeExceptionとそのサブクラスは除きます。以降、再試行を起こす例外を再試行例外と呼びます。
com.fujitsu.uji.DispatchContextクラスのsetRetryメソッドが呼び出された場合。この場合、メソッドが再試行例外を発生しなくても、メソッドの終了後に再試行されます。例外を発生させずに再試行させたい場合にこのメソッドを使用します。
再試行の回数には上限があります。上記の条件に該当しても再試行の回数が上限を超える場合には、再試行されません。
ビジネスクラス実行中にエラー(java.lang.Errorとそのサブクラス)が発生した場合、すでに再試行が予定されていた場合でも再試行が取り消されます。
トランザクション管理機能と併用した場合の動作については、“4.7.3 トランザクション管理機能とビジネスクラス再試行機能の併用”を参照してください。