public class GemfireTransactionManager extends AbstractPlatformTransactionManager implements InitializingBean, ResourceTransactionManager
CacheTransactionManager の Spring PlatformTransactionManager 実装を提供します。指定された GemFireCache の 1 つまたは複数の Pivotal GemFire Regions をスレッドにバインドし、GemFireCache モデルごとに 1 つの Region を許可する可能性があります。このローカル戦略は、JTA トランザクション内でキャッシュ操作を実行する代わりに使用できます。その利点は、スタンドアロンアプリケーションやテストスイートなど、あらゆる環境で動作できることです。データアクセスとトランザクションを共有するなどの XA トランザクションを提供することはできません。
デフォルトでは、ダーティリードを防止するために、GemFireCache は get データアクセス操作の直接参照ではなくコピーを返すように設定されています。回避策として、変更を加える前にオブジェクトを明示的にディープコピーして、フェッチのたびに不要なコピーが行われないようにすることができます。
CopyHelper.copy(Object)、GemFireCache.setCopyOnRead(boolean)、CacheTransactionManager、Region、TransactionId, InitializingBean, PlatformTransactionManager, TransactionDefinition, AbstractPlatformTransactionManager, ResourceTransactionManager, TransactionSynchronizationManager, setCopyOnRead(boolean), 連載形式 | 修飾子と型 | クラスと説明 |
|---|---|
protected static class | GemfireTransactionManager.CacheHolderPivotal GemFire キャッシュトランザクション状態の保持者。 |
protected static class | GemfireTransactionManager.CacheTransactionObject 重要な GemFire ローカルトランザクションオブジェクト。 |
AbstractPlatformTransactionManager.SuspendedResourcesHolder| 修飾子と型 | フィールドと説明 |
|---|---|
protected static TimeUnitSE | DEFAULT_RESUME_WAIT_TIME_UNIT |
logger, SYNCHRONIZATION_ALWAYS, SYNCHRONIZATION_NEVER, SYNCHRONIZATION_ON_ACTUAL_TRANSACTION| コンストラクターと説明 |
|---|
GemfireTransactionManager()GemfireTransactionManager のインスタンスを構築します。 |
GemfireTransactionManager(org.apache.geode.cache.GemFireCache cache) 指定された GemFireCache 参照で初期化された GemfireTransactionManager のインスタンスを構築します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | afterPropertiesSet() |
protected void | doBegin(ObjectSE transaction, TransactionDefinition definition) |
protected void | doCleanupAfterCompletion(ObjectSE transaction) |
protected void | doCommit(DefaultTransactionStatus status) |
protected ObjectSE | doGetTransaction() |
protected void | doResume(ObjectSE transaction, ObjectSE suspendedResources) |
protected void | doRollback(DefaultTransactionStatus status) |
protected void | doSetRollbackOnly(DefaultTransactionStatus status) |
protected ObjectSE | doSuspend(ObjectSE transaction) |
org.apache.geode.cache.GemFireCache | getCache() このトランザクションマネージャーがローカルキャッシュトランザクションを管理する GemFireCache への参照を返します。 |
protected org.apache.geode.cache.CacheTransactionManager | getCacheTransactionManager() |
ObjectSE | getResourceFactory() |
protected LongSE | getResumeWaitTime()Pivotal GemFire キャッシュトランザクションが再開されるのを待機するために使用されるタイムアウトを返します。 |
protected TimeUnitSE | getResumeWaitTimeUnit()Pivotal GemFire キャッシュトランザクションを再開するときに待機タイムアウトで使用される TimeUnitSE を返します。 |
boolean | isCopyOnRead() 読み取り時のコピーが設定され、フェッチデータアクセス操作に使用されるかどうかを示します。 |
protected boolean | isExistingTransaction(ObjectSE transaction) |
protected boolean | isResumeWaitTimeSet() ユーザーが Pivotal GemFire キャッシュトランザクションを再開するための待機時間を指定したかどうかを判断します。 |
void | setCache(org.apache.geode.cache.GemFireCache cache) このトランザクションマネージャーがローカルキャッシュトランザクションを管理する GemFireCache への参照を設定します。 |
void | setCopyOnRead(boolean copyOnRead) キャッシュが直接オブジェクト参照を返すか、管理するオブジェクトのコピーを返すかを設定します。 |
<K,V> void | setRegion(org.apache.geode.cache.Region<K,V> region)GemFireCache に直接設定する代わりに、Pivotal GemFire キャッシュ Region を設定します。 |
void | setResumeWaitTime(LongSE resumeWaitTime)Pivotal GemFire キャッシュトランザクションが再開されるのを待機するために使用されるタイムアウトを設定します。 |
void | setResumeWaitTimeUnit(TimeUnitSE resumeWaitTimeUnit)Pivotal GemFire キャッシュトランザクションを再開するときに待機タイムアウトで使用される TimeUnitSE を設定します。 |
protected boolean | useSavepointForNestedTransaction() |
commit, determineTimeout, getDefaultTimeout, getTransaction, getTransactionSynchronization, invokeAfterCompletion, isFailEarlyOnGlobalRollbackOnly, isGlobalRollbackOnParticipationFailure, isNestedTransactionAllowed, isRollbackOnCommitFailure, isValidateExistingTransaction, newTransactionStatus, prepareForCommit, prepareSynchronization, prepareTransactionStatus, registerAfterCompletionWithExistingTransaction, resume, rollback, setDefaultTimeout, setFailEarlyOnGlobalRollbackOnly, setGlobalRollbackOnParticipationFailure, setNestedTransactionAllowed, setRollbackOnCommitFailure, setTransactionSynchronization, setTransactionSynchronizationName, setValidateExistingTransaction, shouldCommitOnGlobalRollbackOnly, suspend, triggerBeforeCommit, triggerBeforeCompletioncloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEcommit, getTransaction, rollbackprotected static final TimeUnitSE DEFAULT_RESUME_WAIT_TIME_UNIT
public GemfireTransactionManager()
GemfireTransactionManager のインスタンスを構築します。public GemfireTransactionManager(org.apache.geode.cache.GemFireCache cache)
GemFireCache 参照で初期化された GemfireTransactionManager のインスタンスを構築します。cache - キャッシュトランザクションに関連付けられた GemFireCache への参照。GemFireCache, afterPropertiesSet()public void afterPropertiesSet()
InitializingBean 内の afterPropertiesSet protected ObjectSE doGetTransaction() throws TransactionException
protected boolean isExistingTransaction(ObjectSE transaction) throws TransactionException
AbstractPlatformTransactionManager の isExistingTransaction TransactionExceptionprotected void doBegin(ObjectSE transaction, TransactionDefinition definition) throws TransactionException
AbstractPlatformTransactionManager の doBegin TransactionExceptionprotected void doCommit(DefaultTransactionStatus status) throws TransactionException
AbstractPlatformTransactionManager の doCommit TransactionExceptionprotected ObjectSE doSuspend(ObjectSE transaction) throws TransactionException
AbstractPlatformTransactionManager の doSuspend TransactionExceptionprotected void doResume(ObjectSE transaction, ObjectSE suspendedResources) throws TransactionException
AbstractPlatformTransactionManager の doResume TransactionExceptionprotected void doRollback(DefaultTransactionStatus status) throws TransactionException
AbstractPlatformTransactionManager の doRollback TransactionExceptionprotected void doCleanupAfterCompletion(ObjectSE transaction)
AbstractPlatformTransactionManager の doCleanupAfterCompletion protected void doSetRollbackOnly(DefaultTransactionStatus status)
AbstractPlatformTransactionManager の doSetRollbackOnly protected final boolean useSavepointForNestedTransaction()
public void setCache(org.apache.geode.cache.GemFireCache cache)
GemFireCache への参照を設定します。cache - GemFireCache への参照。GemFireCachepublic org.apache.geode.cache.GemFireCache getCache()
GemFireCache への参照を返します。GemFireCache への参照。GemFireCacheprotected org.apache.geode.cache.CacheTransactionManager getCacheTransactionManager()
public void setCopyOnRead(boolean copyOnRead)
CopyHelper.copy(Object) を使用する場合、この設定は false に設定できます)。ただし、測定可能なパフォーマンスの低下がない限り、この設定は true のままにしておくことをお勧めします。copyOnRead - フェッチ操作で直接オブジェクト参照ではなくコピー (デフォルト) が返されるかどうかを示すブール値。public boolean isCopyOnRead()
setCopyOnRead(boolean)public <K,V> void setRegion(org.apache.geode.cache.Region<K,V> region)
GemFireCache に直接設定する代わりに、Pivotal GemFire キャッシュ Region を設定します。K - Region キーの ClassSE 型。V - Region 値の ClassSE 型。region - ローカルキャッシュトランザクションに直接関与する重要な GemFire キャッシュ Region。IllegalArgumentExceptionSE - Region が null の場合。Regionpublic ObjectSE getResourceFactory()
ResourceTransactionManager 内の getResourceFactory public void setResumeWaitTime(LongSE resumeWaitTime)
resumeWaitTime - Pivotal GemFire キャッシュトランザクションが再開されるのを待機するために使用されるタイムアウトを含む long 値。CacheTransactionManager.tryResume(TransactionId, long, TimeUnit)protected LongSE getResumeWaitTime()
CacheTransactionManager.tryResume(TransactionId, long, TimeUnit)protected boolean isResumeWaitTimeSet()
CacheTransactionManager.tryResume(TransactionId, long, TimeUnit), getResumeWaitTime()public void setResumeWaitTimeUnit(TimeUnitSE resumeWaitTimeUnit)
TimeUnitSE を設定します。resumeWaitTimeUnit - Pivotal GemFire キャッシュトランザクションを再開するときの待機タイムアウトで使用される TimeUnitSE。CacheTransactionManager.tryResume(TransactionId, long, TimeUnit)protected TimeUnitSE getResumeWaitTimeUnit()
TimeUnitSE を返します。デフォルトは TimeUnit.SECONDSSE です。TimeUnitSE。CacheTransactionManager.tryResume(TransactionId, long, TimeUnit)Copyright © 2011–2021 Pivotal Software, Inc.. All rights reserved.