public abstract class DelegatingTransactionDefinition extends ObjectSE implements TransactionDefinition, SerializableSE
TransactionDefinition インスタンスに委譲する 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| コンストラクターと説明 |
|---|
DelegatingTransactionDefinition(TransactionDefinition targetDefinition) 指定されたターゲット属性の DelegatingTransactionAttribute を作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
boolean | equals(ObjectSE obj) |
int | getIsolationLevel() 分離レベルを返します。 |
StringSE | getName() このトランザクションの名前を返します。 |
int | getPropagationBehavior() 伝播動作を返します。 |
int | getTimeout() トランザクションタイムアウトを返します。 |
int | hashCode() |
boolean | isReadOnly() 読み取り専用トランザクションとして最適化するかどうかを返します。 |
StringSE | toString() |
cloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEpublic DelegatingTransactionDefinition(TransactionDefinition targetDefinition)
targetDefinition - 委譲先のターゲット TransactionAttributepublic int getPropagationBehavior()
TransactionDefinitionthis interface で定義された PROPAGATION_XXX 定数のいずれかを返さなければなりません。
public int getIsolationLevel()
TransactionDefinitionthis interface で定義された ISOLATION_XXX 定数のいずれかを返さなければなりません。
TransactionDefinition.PROPAGATION_REQUIRED または TransactionDefinition.PROPAGATION_REQUIRES_NEW との組み合わせでのみ意味があります。
TransactionDefinition.ISOLATION_DEFAULT 以外のレベルが指定された場合、カスタム分離レベルをサポートしないトランザクションマネージャーは例外をスローすることに注意してください。
TransactionDefinition の getIsolationLevel public int getTimeout()
TransactionDefinition 秒数または TransactionDefinition.TIMEOUT_DEFAULT を返す必要があります。
TransactionDefinition.PROPAGATION_REQUIRED または TransactionDefinition.PROPAGATION_REQUIRES_NEW との組み合わせでのみ意味があります。
タイムアウトをサポートしないトランザクションマネージャーは、TransactionDefinition.TIMEOUT_DEFAULT 以外のタイムアウトが指定された場合に例外をスローすることに注意してください。
TransactionDefinition の getTimeout public boolean isReadOnly()
TransactionDefinition 読み取り専用フラグは、実際のリソーストランザクション(TransactionDefinition.PROPAGATION_REQUIRED/TransactionDefinition.PROPAGATION_REQUIRES_NEW)によって裏付けられているか、リソースレベルで非トランザクションで動作している(TransactionDefinition.PROPAGATION_SUPPORTS)かに関わらず、すべてのトランザクションコンテキストに適用されます。後者の場合、フラグは Hibernate Session などのアプリケーション内の管理対象リソースにのみ適用されます。
これは、実際のトランザクションサブシステムのヒントとしてのみ機能します。 必ずしも書き込みアクセスの試行が失敗するわけではありません。読み取り専用ヒントを解釈できないトランザクションマネージャーは、読み取り専用トランザクションを要求されたときに例外をスローしません。
TransactionDefinition の isReadOnly true TransactionSynchronization.beforeCommit(boolean), TransactionSynchronizationManager.isCurrentTransactionReadOnly()@Nullable public StringSE getName()
TransactionDefinitionnull にすることができます。これは、該当する場合、トランザクションモニターに表示されるトランザクション名として使用されます(たとえば、WebLogic's)。
Spring の宣言的トランザクションの場合、公開される名前は fully-qualified class name + "." + method name (デフォルト)です。
TransactionDefinition の getName TransactionAspectSupport, TransactionSynchronizationManager.getCurrentTransactionName()public int hashCode()
ObjectSE の hashCodeSE public StringSE toString()
ObjectSE の toStringSE