要求再試行タイムアウト値の構成

信頼できるマップの場合、トランザクション要求の再試行タイムアウト値を ミリ秒単位で WebSphere® eXtreme Scale に指定できます。

このタスクについて

タイムアウト値はクライアント・プロパティー・ファイルまたはセッション内で 構成できます。セッションの値がクライアント・プロパティー設定に優先します。ゼロより 大きい値に設定された場合、タイムアウト条件が満たされるか、 永続的な障害が起こるまで、要求は試行されます。永続的な障害とは、DuplicateKeyException 例外などです。 値ゼロはフェイル・ファースト・モード設定を表し、eXtreme Scale は、 どのようなタイプのトランザクションの後であっても、トランザクションを再試行しません。

実行時は、トランザクション・タイムアウト値が 再試行タイムアウト値と一緒に使用され、再試行タイムアウト がトランザクション・タイムアウトを超えないようにします。

トランザクションには 2 つのタイプがあります。自動コミット・トランザクションと 明示的に begin メソッドと commit メソッドを使用するトランザクションです。 再試行の有効な例外は、これら 2 つのタイプのトランザクション間で異なります。
  • セッション内で呼び出されるトランザクションの場合、CORBA SystemException および eXtreme Scale TargetNotAvailable 例外で あれば、トランザクションは再試行されます。
  • 自動コミット・トランザクションの場合、CORBA SystemException および eXtreme Scale アベイラビリティー例外であれば、 トランザクションは再試行されます。 これらの例外には、ReplicationVotedToRollbackTransactionException、TargetNotAvailable、 および AvailabilityException 例外が含まれます。

アプリケーション障害やその他の永続障害はすぐに再発するので、クライアントはトランザクションを再試行しません。 このような永続障害には DuplicateKeyException や KeyNotFoundException 例外があります。 例外の後はトランザクションを再試行せず、すべての例外を返すようにするには、フェイル・ファースト設定を使用します。

クライアントがトランザクションを再試行する例外
  • ReplicationVotedToRollbackTransactionException (自動コミットの場合のみ)
  • TargetNotAvailable
  • org.omg.CORBA.SystemException
  • AvailabilityException (自動コミットの場合のみ)
  • LockTimeoutException (自動コミットの場合のみ)
  • UnavailableServiceException (自動コミットの場合のみ)
トランザクションが再試行されない永続的な例外
  • DuplicateKeyException
  • KeyNotFoundException
  • LoaderException
  • TransactionAffinityException
  • LockDeadlockException
  • OptimisticCollisionException

手順