クラス DefaultTransactionDefinition
- 実装されているすべてのインターフェース:
SerializableSE,TransactionDefinition
- 既知の直属サブクラス
DefaultTransactionAttribute,TransactionTemplate
TransactionDefinition インターフェースのデフォルト実装。Bean スタイルの構成と適切なデフォルト値(PROPAGATION_REQUIRED、ISOLATION_DEFAULT、TIMEOUT_DEFAULT、readOnly = false)を提供します。TransactionTemplate と DefaultTransactionAttribute の両方の基本クラス。
- 導入:
- 08.05.2003
- 作成者:
- Juergen Hoeller, Sam Brannen
- 関連事項:
フィールドのサマリー
フィールド修飾子と型フィールド説明static final StringSETransactionDefinition で定義されている分離定数のプレフィックス。static final StringSETransactionDefinition で定義された伝搬定数のプレフィックス。static final StringSE説明文字列のトランザクションタイムアウト値のプレフィックス。static final StringSE説明文字列内の読み取り専用トランザクションのマーカー。インターフェース org.springframework.transaction.TransactionDefinition から継承されたフィールド
ISOLATION_DEFAULT, ISOLATION_READ_COMMITTED, ISOLATION_READ_UNCOMMITTED, ISOLATION_REPEATABLE_READ, ISOLATION_SERIALIZABLE, PROPAGATION_MANDATORY, PROPAGATION_NESTED, PROPAGATION_NEVER, PROPAGATION_NOT_SUPPORTED, PROPAGATION_REQUIRED, PROPAGATION_REQUIRES_NEW, PROPAGATION_SUPPORTS, TIMEOUT_DEFAULTコンストラクターの概要
コンストラクターコンストラクター説明デフォルト設定で新しいDefaultTransactionDefinitionを作成します。DefaultTransactionDefinition(int propagationBehavior) 指定された伝播動作を持つ新しいDefaultTransactionDefinitionを作成します。コピーコンストラクター。メソッドのサマリー
修飾子と型メソッド説明booleanこの実装は、toString()の結果を比較します。protected final StringBuilderSEこのトランザクション定義の識別記述を返します。final int分離レベルを返します。final StringSEgetName()このトランザクションの名前を返します。final int伝播動作を返します。final intトランザクションタイムアウトを返します。inthashCode()この実装は、toString()のハッシュコードを返します。final boolean読み取り専用トランザクションとして最適化するかどうかを返します。final voidsetIsolationLevel(int isolationLevel) 分離レベルを設定します。final voidsetIsolationLevelName(StringSE constantName) TransactionDefinitionの対応する定数の名前によって分離レベルを設定します。たとえば、"ISOLATION_DEFAULT"。final voidこのトランザクションの名前を設定します。final voidsetPropagationBehavior(int propagationBehavior) 伝播動作を設定します。final voidsetPropagationBehaviorName(StringSE constantName) TransactionDefinitionの対応する定数の名前によって伝播動作を設定します。たとえば、"PROPAGATION_REQUIRED"。final voidsetReadOnly(boolean readOnly) 読み取り専用トランザクションとして最適化するかどうかを設定します。final voidsetTimeout(int timeout) 秒数として、適用するタイムアウトを設定します。toString()このトランザクション定義の識別記述を返します。
フィールドの詳細
コンストラクターの詳細
DefaultTransactionDefinition
public DefaultTransactionDefinition()デフォルト設定で新しいDefaultTransactionDefinitionを作成します。Bean プロパティ setter を通じて変更できます。DefaultTransactionDefinition
コンストラクターをコピーします。定義は、Bean プロパティ setter を介して変更できます。DefaultTransactionDefinition
public DefaultTransactionDefinition(int propagationBehavior) 指定された伝播動作を持つ新しいDefaultTransactionDefinitionを作成します。Bean プロパティ setter を通じて変更できます。- パラメーター:
propagationBehavior- TransactionDefinition インターフェースの伝搬定数の 1 つ- 関連事項:
メソッドの詳細
setPropagationBehaviorName
public final void setPropagationBehaviorName(StringSE constantName) throws IllegalArgumentExceptionSE TransactionDefinitionの対応する定数の名前によって伝播動作を設定します。たとえば、"PROPAGATION_REQUIRED"。- パラメーター:
constantName- 定数の名前- 例外:
IllegalArgumentExceptionSE- 指定された値がPROPAGATION_定数の 1 つに解決できない場合、またはnullである場合- 関連事項:
setPropagationBehavior
public final void setPropagationBehavior(int propagationBehavior) 伝播動作を設定します。TransactionDefinition インターフェースの伝搬定数のいずれかでなければなりません。デフォルトは PROPAGATION_REQUIRED です。新しく開始されたトランザクションにのみ適用されるため、
TransactionDefinition.PROPAGATION_REQUIREDまたはTransactionDefinition.PROPAGATION_REQUIRES_NEWで使用するために特別に設計されています。異なる分離レベルの既存のトランザクションに参加するときに分離レベルの宣言を拒否したい場合は、トランザクションマネージャーで "validateExistingTransactions" フラグを "true" に切り替えることを検討してください。TransactionDefinition.ISOLATION_DEFAULT以外のレベルが指定された場合、カスタム分離レベルをサポートしないトランザクションマネージャーは例外をスローすることに注意してください。- 例外:
IllegalArgumentExceptionSE- 指定された値がPROPAGATION_定数のいずれでもない場合- 関連事項:
getPropagationBehavior
public final int getPropagationBehavior()インターフェースからコピーされた説明:TransactionDefinition伝播動作を返します。this interfaceで定義されたPROPAGATION_XXX定数のいずれかを返さなければなりません。デフォルトは
TransactionDefinition.PROPAGATION_REQUIREDです。setIsolationLevelName
TransactionDefinitionの対応する定数の名前によって分離レベルを設定します。たとえば、"ISOLATION_DEFAULT"。- パラメーター:
constantName- 定数の名前- 例外:
IllegalArgumentExceptionSE- 指定された値がISOLATION_定数の 1 つに解決できない場合、またはnullである場合- 関連事項:
setIsolationLevel
public final void setIsolationLevel(int isolationLevel) 分離レベルを設定します。TransactionDefinition インターフェースの分離定数の 1 つでなければなりません。デフォルトは ISOLATION_DEFAULT です。新しく開始されたトランザクションにのみ適用されるため、
TransactionDefinition.PROPAGATION_REQUIREDまたはTransactionDefinition.PROPAGATION_REQUIRES_NEWで使用するために特別に設計されています。異なる分離レベルの既存のトランザクションに参加するときに分離レベルの宣言を拒否したい場合は、トランザクションマネージャーで "validateExistingTransactions" フラグを "true" に切り替えることを検討してください。TransactionDefinition.ISOLATION_DEFAULT以外のレベルが指定された場合、カスタム分離レベルをサポートしないトランザクションマネージャーは例外をスローすることに注意してください。- 例外:
IllegalArgumentExceptionSE- 指定された値がISOLATION_定数のいずれでもない場合- 関連事項:
getIsolationLevel
public final int getIsolationLevel()インターフェースからコピーされた説明:TransactionDefinition分離レベルを返します。this interfaceで定義されたISOLATION_XXX定数のいずれかを返さなければなりません。これらの定数は、ConnectionSE の同じ定数の値と一致するように設計されています。新しく開始されたトランザクションにのみ適用されるため、
TransactionDefinition.PROPAGATION_REQUIREDまたはTransactionDefinition.PROPAGATION_REQUIRES_NEWで使用するために特別に設計されています。異なる分離レベルの既存のトランザクションに参加するときに分離レベルの宣言を拒否したい場合は、トランザクションマネージャーで "validateExistingTransactions" フラグを "true" に切り替えることを検討してください。デフォルトは
TransactionDefinition.ISOLATION_DEFAULTです。TransactionDefinition.ISOLATION_DEFAULT以外のレベルが指定された場合、カスタム分離レベルをサポートしないトランザクションマネージャーは例外をスローすることに注意してください。setTimeout
public final void setTimeout(int timeout) 秒数として、適用するタイムアウトを設定します。デフォルトは TIMEOUT_DEFAULT(-1)です。新たに開始されたトランザクションにのみ適用されるため、
TransactionDefinition.PROPAGATION_REQUIREDまたはTransactionDefinition.PROPAGATION_REQUIRES_NEWでの使用専用に設計されています。タイムアウトをサポートしないトランザクションマネージャーは、
TransactionDefinition.TIMEOUT_DEFAULT以外のタイムアウトが指定された場合に例外をスローすることに注意してください。getTimeout
public final int getTimeout()インターフェースからコピーされた説明:TransactionDefinitionトランザクションタイムアウトを返します。秒数または
TransactionDefinition.TIMEOUT_DEFAULTを返す必要があります。新たに開始されたトランザクションにのみ適用されるため、
TransactionDefinition.PROPAGATION_REQUIREDまたはTransactionDefinition.PROPAGATION_REQUIRES_NEWでの使用専用に設計されています。タイムアウトをサポートしないトランザクションマネージャーは、
TransactionDefinition.TIMEOUT_DEFAULT以外のタイムアウトが指定された場合に例外をスローすることに注意してください。デフォルトは
TransactionDefinition.TIMEOUT_DEFAULTです。- 次で指定:
- インターフェース
TransactionDefinitionのgetTimeout - 戻り値:
- トランザクションのタイムアウト
setReadOnly
public final void setReadOnly(boolean readOnly) 読み取り専用トランザクションとして最適化するかどうかを設定します。デフォルトは "false" です。読み取り専用フラグは、実際のリソーストランザクション(
TransactionDefinition.PROPAGATION_REQUIRED/TransactionDefinition.PROPAGATION_REQUIRES_NEW)によって裏付けられているか、リソースレベルで非トランザクションで動作している(TransactionDefinition.PROPAGATION_SUPPORTS)かに関わらず、すべてのトランザクションコンテキストに適用されます。後者の場合、フラグは HibernateSessionなどのアプリケーション内の管理対象リソースにのみ適用されます。これは、実際のトランザクションサブシステムのヒントとしてのみ機能します。 必ずしも書き込みアクセスの試行が失敗するわけではありません。読み取り専用ヒントを解釈できないトランザクションマネージャーは、読み取り専用トランザクションを要求されたときに例外をスローしません。
isReadOnly
public final boolean isReadOnly()インターフェースからコピーされた説明:TransactionDefinition読み取り専用トランザクションとして最適化するかどうかを返します。読み取り専用フラグは、実際のリソーストランザクション(
TransactionDefinition.PROPAGATION_REQUIRED/TransactionDefinition.PROPAGATION_REQUIRES_NEW)によって裏付けられているか、リソースレベルで非トランザクションで動作している(TransactionDefinition.PROPAGATION_SUPPORTS)かに関わらず、すべてのトランザクションコンテキストに適用されます。後者の場合、フラグは HibernateSessionなどのアプリケーション内の管理対象リソースにのみ適用されます。これは、実際のトランザクションサブシステムのヒントとしてのみ機能します。 必ずしも書き込みアクセスの試行が失敗するわけではありません。読み取り専用ヒントを解釈できないトランザクションマネージャーは、読み取り専用トランザクションを要求されたときに例外をスローしません。
- 次で指定:
- インターフェース
TransactionDefinitionのisReadOnly - 戻り値:
- トランザクションを読み取り専用として最適化する場合は
true(デフォルトでfalse) - 関連事項:
setName
このトランザクションの名前を設定します。デフォルトはなしです。これは、トランザクションモニターに表示されるトランザクション名として使用されます(該当する場合)(たとえば、WebLogic's)。
getName
インターフェースからコピーされた説明:TransactionDefinitionこのトランザクションの名前を返します。nullにすることができます。これは、該当する場合、トランザクションモニターに表示されるトランザクション名として使用されます。
Spring の宣言的トランザクションの場合、公開される名前は
fully-qualified class name + "." + method name(デフォルト)です。- 次で指定:
- インターフェース
TransactionDefinitionのgetName - 戻り値:
- このトランザクションの名前(デフォルトでは
null} - 関連事項:
equals
この実装は、toString()の結果を比較します。hashCode
public int hashCode()この実装は、toString()のハッシュコードを返します。toString
このトランザクション定義の識別記述を返します。形式は、
toStringの結果をTransactionAttribute型の Bean プロパティにフィードできるように、TransactionAttributeEditorで使用される形式と一致します。equalsおよびhashCodeの正しい動作のために、サブクラスでオーバーライドする必要があります。または、equals(java.lang.Object)およびhashCode()をそれ自体でオーバーライドできます。getDefinitionDescription
このトランザクション定義の識別記述を返します。toString()結果に含めるために、サブクラスで使用できます。