public class DefaultTransactionAttribute extends DefaultTransactionDefinition implements TransactionAttribute
PREFIX_ISOLATION, PREFIX_PROPAGATION, PREFIX_TIMEOUT, 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
コンストラクターと説明 |
---|
DefaultTransactionAttribute() デフォルト設定で、新しい DefaultTransactionAttribute を作成します。 |
DefaultTransactionAttribute(int propagationBehavior) 指定された伝播動作で新しい DefaultTransactionAttribute を作成します。 |
DefaultTransactionAttribute(TransactionAttribute other) コピーコンストラクター。 |
修飾子と型 | メソッドと説明 |
---|---|
protected StringBuilderSE | getAttributeDescription() このトランザクション属性の識別説明を返します。 |
StringSE | getDescriptor() このトランザクション属性の記述子を返します。ない場合は null を返します。 |
CollectionSE<StringSE> | getLabels() このトランザクション属性に関連付けられたラベルを返します。 |
StringSE | getQualifier() このトランザクション属性に関連付けられた修飾子の値を返します。 |
StringSE | getTimeoutString() 適用するタイムアウトがあれば、それを秒数に解決される文字列値として返します。 |
void | resolveAttributeStrings(StringValueResolver resolver) 解決可能な文字列として定義されている属性値を解決します: setTimeoutString(java.lang.String) 、setQualifier(java.lang.String) 、setLabels(java.util.Collection<java.lang.String>) 。 |
boolean | rollbackOn(ThrowableSE ex) デフォルトの動作は、EJB の場合と同様です。チェックされていない例外( RuntimeException SE)でロールバックし、ビジネスルールの外で予期しない結果が発生すると想定します。 |
void | setDescriptor(StringSE descriptor) このトランザクション属性の記述子を設定します。 |
void | setLabels(CollectionSE<StringSE> labels) 1 つ以上のラベルをこのトランザクション属性に関連付けます。 |
void | setQualifier(StringSE qualifier) このトランザクション属性に修飾子の値を関連付けます。 |
void | setTimeoutString(StringSE timeoutString) タイムアウトを設定して、適用する場合は、秒数に解決される文字列値として設定します。 |
equals, getDefinitionDescription, getIsolationLevel, getName, getPropagationBehavior, getTimeout, hashCode, isReadOnly, setIsolationLevel, setIsolationLevelName, setName, setPropagationBehavior, setPropagationBehaviorName, setReadOnly, setTimeout, toString
cloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
getIsolationLevel, getName, getPropagationBehavior, getTimeout, isReadOnly, withDefaults
public DefaultTransactionAttribute()
public DefaultTransactionAttribute(TransactionAttribute other)
public DefaultTransactionAttribute(int propagationBehavior)
propagationBehavior
- TransactionDefinition インターフェースの伝搬定数の 1 つ DefaultTransactionDefinition.setIsolationLevel(int)
, DefaultTransactionDefinition.setTimeout(int)
, DefaultTransactionDefinition.setReadOnly(boolean)
public void setDescriptor(@Nullable StringSE descriptor)
@Nullable public StringSE getDescriptor()
null
を返します。public void setTimeoutString(@Nullable StringSE timeoutString)
public void setQualifier(@Nullable StringSE qualifier)
これは、この特定のトランザクションを処理するために対応するトランザクションマネージャーを選択するために使用できます。
@Nullable public StringSE getQualifier()
TransactionAttribute
の getQualifier
public void setLabels(CollectionSE<StringSE> labels)
これは、特定のトランザクション動作を適用するため、または純粋に説明的な性質に従うために使用できます。
public CollectionSE<StringSE> getLabels()
TransactionAttribute
これは、特定のトランザクション動作を適用するため、または純粋に説明的な性質に従うために使用できます。
TransactionAttribute
の getLabels
public boolean rollbackOn(ThrowableSE ex)
RuntimeException
SE)でロールバックし、ビジネスルールの外で予期しない結果が発生すると想定します。さらに、Error
SE でのロールバックも試みますが、これも明らかに予期しない結果です。対照的に、チェック例外はビジネス例外と見なされるため、トランザクションビジネスメソッドの通常の予期される結果、つまり、リソース操作の定期的な補完を可能にする一種の代替戻り値です。これは、TransactionTemplate が宣言されていないチェック済み例外(コーナーケース)でもロールバックすることを除いて、TransactionTemplate のデフォルトの動作とほぼ一致しています。宣言型トランザクションの場合、チェックされた例外は意図的にビジネス例外として宣言され、デフォルトでコミットされることが予想されます。
TransactionAttribute
の rollbackOn
ex
- 評価する例外 TransactionTemplate.execute(org.springframework.transaction.support.TransactionCallback<T>)
public void resolveAttributeStrings(@Nullable StringValueResolver resolver)
setTimeoutString(java.lang.String)
、setQualifier(java.lang.String)
、setLabels(java.util.Collection<java.lang.String>)
。これは通常、"${...}" プレースホルダーを解決するために使用されます。resolver
- 適用するエンベディッドバリューリゾルバー(ある場合)protected final StringBuilderSE getAttributeDescription()
toString()
結果に含めるために、サブクラスで使用できます。