public class DefaultTransactionDefinition extends java.lang.Object implements TransactionDefinition, java.io.Serializable
TransactionDefinition インターフェースのデフォルト実装。Bean スタイルの構成と適切なデフォルト値(PROPAGATION_REQUIRED、ISOLATION_DEFAULT、TIMEOUT_DEFAULT、readOnly = false)を提供します。TransactionTemplate と DefaultTransactionAttribute の両方の基本クラス。
| 修飾子と型 | フィールドと説明 |
|---|---|
static java.lang.String | PREFIX_ISOLATIONTransactionDefinition で定義されている分離定数の接頭辞 |
static java.lang.String | PREFIX_PROPAGATIONTransactionDefinition で定義されている伝搬定数のプレフィックス |
static java.lang.String | PREFIX_TIMEOUT 説明文字列のトランザクションタイムアウト値のプレフィックス |
static java.lang.String | READ_ONLY_MARKER 説明文字列内の読み取り専用トランザクションのマーカー |
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 を作成します。 |
DefaultTransactionDefinition(int propagationBehavior) 指定された伝播動作で新しい DefaultTransactionDefinition を作成します。 |
DefaultTransactionDefinition(TransactionDefinition other) コピーコンストラクター。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
boolean | equals(java.lang.Object other) この実装は、 toString() の結果を比較します。 |
protected java.lang.StringBuilder | getDefinitionDescription() このトランザクション定義の識別記述を返します。 |
int | getIsolationLevel() 分離レベルを返します。 |
java.lang.String | getName() このトランザクションの名前を返します。 |
int | getPropagationBehavior() 伝播動作を返します。 |
int | getTimeout() トランザクションタイムアウトを返します。 |
int | hashCode() この実装は、 toString() のハッシュコードを返します。 |
boolean | isReadOnly() 読み取り専用トランザクションとして最適化するかどうかを返します。 |
void | setIsolationLevel(int isolationLevel) 分離レベルを設定します。 |
void | setIsolationLevelName(java.lang.String constantName)TransactionDefinition の対応する定数の名前で分離レベルを設定します。 |
void | setName(java.lang.String name) このトランザクションの名前を設定します。 |
void | setPropagationBehavior(int propagationBehavior) 伝播動作を設定します。 |
void | setPropagationBehaviorName(java.lang.String constantName)TransactionDefinition の対応する定数の名前で伝播動作を設定します。 |
void | setReadOnly(boolean readOnly) 読み取り専用トランザクションとして最適化するかどうかを設定します。 |
void | setTimeout(int timeout) 秒数として、適用するタイムアウトを設定します。 |
java.lang.String | toString() このトランザクション定義の識別記述を返します。 |
public static final java.lang.String PREFIX_PROPAGATION
public static final java.lang.String PREFIX_ISOLATION
public static final java.lang.String PREFIX_TIMEOUT
public static final java.lang.String READ_ONLY_MARKER
public DefaultTransactionDefinition()
public DefaultTransactionDefinition(TransactionDefinition other)
public DefaultTransactionDefinition(int propagationBehavior)
propagationBehavior - TransactionDefinition インターフェースの伝搬定数の 1 つ setIsolationLevel(int), setTimeout(int), setReadOnly(boolean)public final void setPropagationBehaviorName(java.lang.String constantName)
throws java.lang.IllegalArgumentExceptionconstantName - 定数の名前 java.lang.IllegalArgumentException - 指定された値が PROPAGATION_ 定数の 1 つに解決できない場合、または null である場合 setPropagationBehavior(int), TransactionDefinition.PROPAGATION_REQUIREDpublic final void setPropagationBehavior(int propagationBehavior)
java.lang.IllegalArgumentException - 指定された値が PROPAGATION_ 定数のいずれでもない場合 TransactionDefinition.PROPAGATION_REQUIREDpublic final int getPropagationBehavior()
TransactionDefinitionthis interface で定義された PROPAGATION_XXX 定数のいずれかを返さなければなりません。
public final void setIsolationLevelName(java.lang.String constantName)
throws java.lang.IllegalArgumentExceptionconstantName - 定数の名前 java.lang.IllegalArgumentException - 指定された値が ISOLATION_ 定数の 1 つに解決できない場合、または null である場合 setIsolationLevel(int), TransactionDefinition.ISOLATION_DEFAULTpublic final void setIsolationLevel(int isolationLevel)
java.lang.IllegalArgumentException - 指定された値が ISOLATION_ 定数のいずれでもない場合 TransactionDefinition.ISOLATION_DEFAULTpublic final int getIsolationLevel()
TransactionDefinitionthis interface で定義された ISOLATION_XXX 定数のいずれかを返さなければなりません。
TransactionDefinition.PROPAGATION_REQUIRED または TransactionDefinition.PROPAGATION_REQUIRES_NEW との組み合わせでのみ意味があります。
TransactionDefinition.ISOLATION_DEFAULT 以外のレベルが指定された場合、カスタム分離レベルをサポートしないトランザクションマネージャーは例外をスローすることに注意してください。
TransactionDefinition の getIsolationLevel public final void setTimeout(int timeout)
public final int getTimeout()
TransactionDefinition 秒数または TransactionDefinition.TIMEOUT_DEFAULT を返す必要があります。
TransactionDefinition.PROPAGATION_REQUIRED または TransactionDefinition.PROPAGATION_REQUIRES_NEW との組み合わせでのみ意味があります。
タイムアウトをサポートしないトランザクションマネージャーは、TransactionDefinition.TIMEOUT_DEFAULT 以外のタイムアウトが指定された場合に例外をスローすることに注意してください。
TransactionDefinition の getTimeout public final void setReadOnly(boolean readOnly)
public final boolean isReadOnly()
TransactionDefinition 読み取り専用フラグは、実際のリソーストランザクション(TransactionDefinition.PROPAGATION_REQUIRED/TransactionDefinition.PROPAGATION_REQUIRES_NEW)によって裏付けられているか、リソースレベルで非トランザクションで動作している(TransactionDefinition.PROPAGATION_SUPPORTS)かに関わらず、すべてのトランザクションコンテキストに適用されます。後者の場合、フラグは Hibernate Session などのアプリケーション内の管理対象リソースにのみ適用されます。
これは、実際のトランザクションサブシステムのヒントとしてのみ機能します。 必ずしも書き込みアクセスの試行が失敗するわけではありません。読み取り専用ヒントを解釈できないトランザクションマネージャーは、読み取り専用トランザクションを要求されたときに例外をスローしません。
TransactionDefinition の isReadOnly true TransactionSynchronization.beforeCommit(boolean), TransactionSynchronizationManager.isCurrentTransactionReadOnly()public final void setName(java.lang.String name)
これは、トランザクションモニターに表示されるトランザクション名として使用されます(該当する場合)(たとえば、WebLogic's)。
@Nullable public final java.lang.String getName()
TransactionDefinitionnull にすることができます。これは、該当する場合、トランザクションモニターに表示されるトランザクション名として使用されます(たとえば、WebLogic's)。
Spring の宣言的トランザクションの場合、公開される名前は fully-qualified class name + "." + method name (デフォルト)です。
TransactionDefinition の getName TransactionAspectSupport, TransactionSynchronizationManager.getCurrentTransactionName()public boolean equals(java.lang.Object other)
toString() の結果を比較します。java.lang.Object の equals toString()public int hashCode()
toString() のハッシュコードを返します。java.lang.Object の hashCode toString()public java.lang.String toString()
形式は、toString の結果を TransactionAttribute 型の Bean プロパティにフィードできるように、TransactionAttributeEditor で使用される形式と一致します。
equals および hashCode の正しい動作のために、サブクラスでオーバーライドする必要があります。または、equals(java.lang.Object) および hashCode() をそれ自体でオーバーライドできます。
java.lang.Object の toString getDefinitionDescription(), TransactionAttributeEditorprotected final java.lang.StringBuilder getDefinitionDescription()
toString() 結果に含めるために、サブクラスで使用できます。