public class RemoteUnitOfWork extends RepeatableWriteUnitOfWork
UnitOfWork.CommitOrderType
AfterExternalTransactionRolledBack, Birth, CommitPending, CommitTransactionPending, Death, DO_NOT_THROW_CONFORM_EXCEPTIONS, Full, LOCK_QUERIES_PROPERTY, MergePending, None, Partial, ReadLockOnly, ReadLockUpdateVersion, THROW_ALL_CONFORM_EXCEPTIONS, WriteChangesFailed
LOG_DEBUG, LOG_ERROR, LOG_INFO, LOG_WARNING
Constructor and Description |
---|
RemoteUnitOfWork() |
RemoteUnitOfWork(DistributedSession parent) |
RemoteUnitOfWork(DistributedSession parent,
ReferenceMode referenceMode) |
RemoteUnitOfWork(RemoteUnitOfWork parent) |
RemoteUnitOfWork(RemoteUnitOfWork parent,
ReferenceMode referenceMode) |
Modifier and Type | Method and Description |
---|---|
UnitOfWorkImpl |
acquireUnitOfWork()
The nested unit of work must also be remote.
|
UnitOfWorkImpl |
acquireUnitOfWork(ReferenceMode referenceMode)
The nested unit of work must also be remote.
|
void |
beginEarlyTransaction()
PUBLIC:
Tell the unit of work to begin a transaction now.
|
UnitOfWorkChangeSet |
calculateChanges(java.util.Map registeredObjects,
UnitOfWorkChangeSet changeSet,
boolean assignSequences,
boolean shouldCloneMap)
INTERNAL:
Changes are calculated on the client, so avoid recalculating them on the server.
|
void |
commitRootUnitOfWork()
Starts committing the remote unit of work.
|
java.lang.Object |
executeQuery(java.lang.String queryName)
PUBLIC:
Execute the pre-defined query by name and return the result.
|
java.lang.Object |
executeQuery(java.lang.String queryName,
java.lang.Class domainClass)
PUBLIC:
Execute the pre-defined query by name and return the result.
|
java.lang.Object |
executeQuery(java.lang.String queryName,
java.lang.Class domainClass,
java.util.Vector argumentValues)
PUBLIC:
Execute the pre-defined query by name and return the result.
|
java.lang.Object |
executeQuery(java.lang.String queryName,
java.util.Vector argumentValues)
PUBLIC:
Execute the pre-defined query by name and return the result.
|
Platform |
getDatasourcePlatform()
INTERNAL:
Return the database platform currently connected to.
|
ClassDescriptor |
getDescriptor(java.lang.Class domainClass)
Return the table descriptor specified for the class.
|
ClassDescriptor |
getDescriptorForAlias(java.lang.String alias)
Return the table descriptor specified for the class.
|
java.util.List |
getNewObjectsCache()
Returns a new object cache
|
RemoteSessionController |
getParentSessionController()
INTERNAL:
Method returns the parent RemoteSessionController for this Remote UnitOfWork
Used to retrieve Valueholders that were used on the client
|
DatabasePlatform |
getPlatform()
INTERNAL:
Return the database platform currently connected to.
|
java.util.List |
getUnregisteredNewObjectsCache()
Returns an unregistered new object cache
|
java.lang.Object |
internalExecuteQuery(DatabaseQuery query,
AbstractRecord Record)
INTERNAL:
Return the results from exeucting the database query.
|
boolean |
isFlush() |
boolean |
isRemoteUnitOfWork()
Return if this session is a unit of work.
|
void |
reinitializeForSession(AbstractSession session,
RemoteSessionController parentSessionController)
INTERNAL:
Re-initialize for the server-side session.
|
void |
resumeUnitOfWork()
INTERNAL:
Resume is not required on the server.
|
void |
setIsFlush(boolean isFlush) |
void |
setParentSessionController(RemoteSessionController parentSessionController)
INTERNAL:
Sets the parent RemoteSessionController for this Remote UnitOfWork
Used to retrieve Valueholders that were used on the client
|
java.lang.String |
toString()
Avoid the toString printing the accessor and platform.
|
boolean |
verifyDelete(java.lang.Object domainObject)
TESTING:
This is used by testing code to ensure that a deletion was successful.
|
void |
writeChanges()
Simulate a flush, current just begins a transaction and commits.
|
clear, clearFlushClearCache, clearForClose, commitTransaction, discoverUnregisteredNewObjects, getClassesToBeInvalidated, getCumulativeUOWChangeSet, getFlushClearCache, getUnregisteredDeletedCloneForOriginal, isAfterWriteChangesButBeforeCommit, isObjectDeleted, issueSQLbeforeCompletion, isWithinFlush, mergeCloneWithReferences, registerNewObject, rollbackTransaction, setCumulativeUOWChangeSet, setDiscoverUnregisteredNewObjectsWithoutPersist, setFlushClearCache, setShouldStoreByPassCache, setShouldTerminateTransaction, shouldClearForCloseOnRelease, shouldDiscoverUnregisteredNewObjectsWithoutPersist, shouldForceReadFromDB, shouldStoreBypassCache, synchronizeAndResume, updateChangeTrackersIfRequired, wasDeleted
acquireHistoricalSession, addDeletedPrivateOwnedObjects, addDeletionDependency, addNewAggregate, addObjectDeletedDuringCommit, addPessimisticLockedClone, addPrivateOwnedObject, addReadOnlyClass, addReadOnlyClasses, addRemovedObject, addToChangeTrackedHardList, afterExternalTransactionRollback, assignSequenceNumber, assignSequenceNumber, assignSequenceNumbers, beginTransaction, buildOriginal, checkExistence, checkForUnregisteredExistingObject, checkIfAlreadyRegistered, cloneAndRegisterObject, cloneAndRegisterObject, collectAndPrepareObjectsForNestedMerge, commit, commitAndResume, commitAndResumeOnFailure, commitAndResumeWithPreBuiltChangeSet, commitRootUnitOfWorkWithPreBuiltChangeSet, commitTransactionAfterWriteChanges, copyReadOnlyClasses, createCloneQueryValueHolder, createCloneTransformationValueHolder, deepMergeClone, deepRevertObject, deepUnregisterObject, discoverAndPersistUnregisteredNewObjects, dontPerformValidation, executeCall, forceUpdateToVersionField, getAccessor, getAccessors, getAccessors, getActiveUnitOfWork, getAllFromNewObjects, getBackupClone, getBackupClone, getBackupCloneForCommit, getBackupCloneForCommit, getBatchQueries, getCascadeDeleteObjects, getChangeTrackedHardList, getCloneMapping, getCloneToOriginals, getCommitManager, getCommitOrder, getContainerBeans, getContainerUnitOfWork, getCurrentChanges, getDefaultReadOnlyClasses, getDeletedObjects, getDeletionDependencies, getDeletionDependencies, getExecutionSession, getLifecycle, getMergeManager, getNewAggregates, getNewObjectsCloneToMergeOriginal, getNewObjectsCloneToOriginal, getNewObjectsInParentOriginalToClone, getNewObjectsOriginalToClone, getObjectFromNewObjects, getObjectFromNewObjects, getObjectsDeletedDuringCommit, getOptimisticReadLockObjects, getOriginalVersionOfNewObject, getOriginalVersionOfObject, getOriginalVersionOfObjectOrNull, getOriginalVersionOfObjectOrNull, getParent, getParentIdentityMapSession, getPessimisticLockedObjects, getPlatform, getProperty, getQuery, getQuery, getReadOnlyClasses, getReference, getReferenceMode, getSequencing, getServerPlatform, getSessionTypeString, getShouldThrowConformExceptions, getState, getTransaction, getUnitOfWorkChangeSet, getUnregisteredExistingObjects, getValidationLevel, hasCascadeDeleteObjects, hasChanges, hasCloneMapping, hasContainerBeans, hasDeletedObjects, hasNewObjects, hasOptimisticReadLockObjects, hasPessimisticLockedObjects, hasPrivateOwnedObjects, hasUnregisteredNewObjects, initializeIdentityMapAccessor, internalRegisterObject, isActive, isClassReadOnly, isCloneNewObject, isCloneNewObjectFromParent, isCommitPending, isConsideredInvalid, isDead, isInTransaction, isMergePending, isNestedUnitOfWork, isNewObjectInParent, isObjectNew, isObjectRegistered, isOriginalNewObject, isPessimisticLocked, isPreDeleteComplete, isSmartMerge, issueSQLbeforeCompletion, isUnitOfWork, isUnregisteredExistingObject, isUnregisteredNewObjectInParent, mergeClone, mergeClone, mergeClonesAfterCompletion, mergeCloneWithReferences, mergeCloneWithReferences, mergeCloneWithReferences, newInstance, performFullValidation, performPartialValidation, performRemove, performRemovePrivateOwnedObjectFromChangeSet, printRegisteredObjects, processDeleteObjectQuery, registerAllObjects, registerAllObjects, registerExistingObject, registerExistingObject, registerExistingObject, registerNewContainerBean, registerNewContainerBeanForCMP, registerNewObjectForPersist, registerObject, registerOriginalNewObjectFromNestedUnitOfWork, registerWithTransactionIfRequired, release, releaseJTSConnection, releaseReadConnection, releaseWriteLocks, removeAllReadOnlyClasses, removeForceUpdateToVersionField, removePrivateOwnedObject, removeReadOnlyClass, retryQuery, revertAndResume, revertObject, revertObject, scanForConformingInstances, setBatchQueries, setCommitOrder, setDead, setMergeManager, setObjectsDeletedDuringCommit, setParent, setPendingMerge, setPreDeleteComplete, setReadOnlyClasses, setResumeUnitOfWorkOnTransactionCompletion, setShouldCascadeCloneToJoinedRelationship, setShouldDiscoverNewObjects, setShouldNewObjectsBeCached, setShouldOrderUpdates, setShouldPerformDeletesFirst, setShouldThrowConformExceptions, setShouldValidateExistence, setSmartMerge, setSynchronized, setTransaction, setUnitOfWorkChangeSet, setValidationLevel, setWasNonObjectLevelModifyQueryExecuted, setWasTransactionBegunPrematurely, shallowMergeClone, shallowRevertObject, shallowUnregisterObject, shouldCascadeCloneToJoinedRelationship, shouldDiscoverNewObjects, shouldNewObjectsBeCached, shouldOrderUpdates, shouldPerformDeletesFirst, shouldPerformFullValidation, shouldPerformNoValidation, shouldPerformPartialValidation, shouldReadFromDB, shouldResumeUnitOfWorkOnTransactionCompletion, shouldValidateExistence, storeDeferredModifyAllQuery, storeModifyAllQuery, unregisterObject, unregisterObject, unregisterObject, validateObjectSpace, verifyMutexThreadIntegrityBeforeRelease, wasNonObjectLevelModifyQueryExecuted, wasTransactionBegunPrematurely, writesCompleted
acquireNonSynchronizedUnitOfWork, acquireNonSynchronizedUnitOfWork, acquireRepeatableWriteUnitOfWork, addAlias, addJPAQuery, addJPATablePerTenantQuery, addMultitenantContextProperty, addQuery, addQuery, addStaticMetamodelClass, basicExecuteCall, beginExternalTransaction, checkAndRefreshInvalidObject, cleanUpEntityListenerInjectionManager, clearDescriptors, clearIntegrityChecker, clearLastDescriptorAccessed, clearProfile, clone, commitExternalTransaction, compareObjects, compareObjectsDontMatch, config, containsQuery, copy, copy, copyDescriptorNamedQueries, copyDescriptorsFromProject, copyInternal, copyObject, copyObject, createEntityListenerInjectionManager, createProtectedInstanceFromCachedData, deferEvent, deleteAllObjects, deleteAllObjects, deleteObject, doesObjectExist, dontLogMessages, endOperationProfile, endOperationProfile, executeDeferredEvents, executeNonSelectingCall, executeNonSelectingSQL, executeQuery, executeQuery, executeQuery, executeQuery, executeQuery, executeQuery, executeQuery, executeQuery, executeQuery, executeQuery, executeQuery, executeQuery, executeSelectingCall, executeSQL, fine, finer, finest, getActiveCommandThreads, getActiveSession, getAliasDescriptors, getAllQueries, getAsOfClause, getAttributeGroups, getBroker, getClassDescriptor, getClassDescriptor, getClassDescriptorForAlias, getCommandManager, getDatasourceLogin, getDefaultReferenceMode, getDescriptor, getDescriptors, getEntityListenerInjectionManager, getEventManager, getExceptionHandler, getExceptionHandlerClass, getExternalTransactionController, getId, getIdentityMapAccessor, getIdentityMapAccessorInstance, getIntegrityChecker, getJPAQueries, getJPATablePerTenantQueries, getLoader, getLog, getLogin, getLogLevel, getLogLevel, getLogSessionString, getMappedSuperclass, getMultitenantContextProperties, getName, getNextQueryId, getNextSequenceNumberValue, getNumberOfActiveUnitsOfWork, getParentIdentityMapSession, getParentIdentityMapSession, getPartitioningPolicy, getPessimisticLockTimeoutDefault, getProfiler, getProject, getProperties, getQueries, getQuery, getQuery, getQueryBuilder, getQueryTimeoutDefault, getRefreshMetadataListener, getRootSession, getSerializer, getSessionForClass, getSessionForName, getSessionLog, getStaticMetamodelClass, getTablePerTenantDescriptors, getTablePerTenantQueries, getTransactionMutex, handleException, handleSevere, hasBroker, hasCommitManager, hasDescriptor, hasEventManager, hasExceptionHandler, hasExternalTransactionController, hasProperties, hasTablePerTenantDescriptors, hasTablePerTenantQueries, incrementProfile, incrementProfile, info, insertObject, isBroker, isClassReadOnly, isClientSession, isConcurrent, isConnected, isDatabaseSession, isDistributedSession, isExclusiveConnectionRequired, isExclusiveIsolatedClientSession, isFinalizersEnabled, isHistoricalSession, isInBroker, isInProfile, isIsolatedClientSession, isJPAQueriesProcessed, isLoggingOff, isProtectedSession, isRemoteSession, isServerSession, isSessionBroker, isSynchronized, keyFromObject, keyFromObject, load, load, log, log, log, log, log, log, log, log, log, log, logMessage, logMessage, logThrowable, postAcquireConnection, prepareDatabaseQuery, preReleaseConnection, priviledgedExecuteNonSelectingCall, priviledgedExecuteSelectingCall, processCommand, processJPAQueries, readAllObjects, readAllObjects, readAllObjects, readAllObjects, readObject, readObject, readObject, readObject, readObject, refreshAndLockObject, refreshAndLockObject, refreshObject, registerFinalizer, releaseConnectionAfterCall, releaseUnitOfWork, removeProperty, removeQuery, removeQuery, retrieveCacheKey, retryTransaction, setAccessor, setBroker, setCommandManager, setCommitManager, setDatasourceLogin, setDefaultReferenceMode, setEntityListenerInjectionManager, setEventManager, setExceptionHandler, setExternalTransactionController, setIntegrityChecker, setIsConcurrent, setIsFinalizersEnabled, setIsInBroker, setIsInProfile, setJPAQueriesProcessed, setLog, setLoggingOff, setLogin, setLogin, setLogLevel, setName, setPartitioningPolicy, setPessimisticLockTimeoutDefault, setProfiler, setProject, setProperties, setProperty, setQueries, setQueryBuilder, setQueryTimeoutDefault, setRefreshMetadataListener, setSerializer, setSessionLog, setShouldOptimizeResultSetAccess, setShouldPropagateChanges, setTolerateInvalidJPQL, setWasJTSTransactionInternallyStarted, severe, shouldDisplayData, shouldLog, shouldLogMessages, shouldLogMessages, shouldOptimizeResultSetAccess, shouldPropagateChanges, shouldTolerateInvalidJPQL, startOperationProfile, startOperationProfile, unwrapObject, updateObject, updateProfile, updateTablePerTenantDescriptors, validateCache, validateQuery, warning, wasJTSTransactionInternallyStarted, wrapObject, writeObject
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
deleteAllObjects, deleteObject, isClassReadOnly, refreshAndLockObject, refreshAndLockObject
addJPAQuery, addQuery, clearIntegrityChecker, clearProfile, containsQuery, copy, copy, copyObject, copyObject, doesObjectExist, dontLogMessages, executeNonSelectingCall, executeNonSelectingSQL, executeQuery, executeQuery, executeQuery, executeQuery, executeQuery, executeQuery, executeQuery, executeQuery, executeQuery, executeQuery, executeSelectingCall, executeSQL, getActiveSession, getAsOfClause, getClassDescriptor, getClassDescriptor, getClassDescriptorForAlias, getDatasourceLogin, getDefaultReferenceMode, getDescriptor, getDescriptors, getEventManager, getExceptionHandler, getExternalTransactionController, getId, getIdentityMapAccessor, getIntegrityChecker, getJPAQueries, getLog, getLogin, getLogLevel, getLogLevel, getName, getNextSequenceNumberValue, getPartitioningPolicy, getProfiler, getProject, getProperties, getQueries, getQuery, getSerializer, getSessionLog, handleException, handleSevere, hasDescriptor, hasExceptionHandler, hasExternalTransactionController, isClientSession, isConnected, isDatabaseSession, isDistributedSession, isFinalizersEnabled, isInProfile, isRemoteSession, isServerSession, isSessionBroker, keyFromObject, log, logMessage, readAllObjects, readAllObjects, readAllObjects, readObject, readObject, readObject, readObject, refreshObject, removeProperty, removeQuery, setDefaultReferenceMode, setExceptionHandler, setExternalTransactionController, setIntegrityChecker, setIsFinalizersEnabled, setLog, setLogLevel, setName, setPartitioningPolicy, setProfiler, setProperty, setQueryTimeoutDefault, setSerializer, setSessionLog, shouldLog, shouldLogMessages, validateCache
public RemoteUnitOfWork()
public RemoteUnitOfWork(RemoteUnitOfWork parent)
public RemoteUnitOfWork(DistributedSession parent)
public RemoteUnitOfWork(RemoteUnitOfWork parent, ReferenceMode referenceMode)
public RemoteUnitOfWork(DistributedSession parent, ReferenceMode referenceMode)
public boolean isFlush()
public void setIsFlush(boolean isFlush)
public void beginEarlyTransaction() throws DatabaseException
beginEarlyTransaction
in interface UnitOfWork
beginEarlyTransaction
in class UnitOfWorkImpl
DatabaseException
UnitOfWorkImpl.commit()
,
UnitOfWorkImpl.release()
public UnitOfWorkImpl acquireUnitOfWork()
acquireUnitOfWork
in interface Session
acquireUnitOfWork
in class UnitOfWorkImpl
UnitOfWorkImpl
public UnitOfWorkImpl acquireUnitOfWork(ReferenceMode referenceMode)
acquireUnitOfWork
in interface Session
acquireUnitOfWork
in class AbstractSession
referenceMode
- The reference type the UOW should use internally when
referencing Working clones. Setting this to WEAK means the UOW will use
weak references to reference clones that support active object change
tracking and hard references for deferred change tracked objects.
Setting to FORCE_WEAK means that all objects will be referenced by weak
references and if the application no longer references the clone the
clone may be garbage collected. If the clone
has uncommitted changes then those changes will be lost.UnitOfWorkImpl
public void writeChanges()
writeChanges
in interface UnitOfWork
writeChanges
in class RepeatableWriteUnitOfWork
public void commitRootUnitOfWork()
commitRootUnitOfWork
in class RepeatableWriteUnitOfWork
public UnitOfWorkChangeSet calculateChanges(java.util.Map registeredObjects, UnitOfWorkChangeSet changeSet, boolean assignSequences, boolean shouldCloneMap)
calculateChanges
in class UnitOfWorkImpl
public void resumeUnitOfWork()
resumeUnitOfWork
in class UnitOfWorkImpl
public java.lang.Object executeQuery(java.lang.String queryName) throws DatabaseException
executeQuery
in interface Session
executeQuery
in class AbstractSession
DatabaseException
AbstractSession.addQuery(String, DatabaseQuery)
public java.lang.Object executeQuery(java.lang.String queryName, java.lang.Class domainClass) throws DatabaseException
executeQuery
in interface Session
executeQuery
in class AbstractSession
DatabaseException
DescriptorQueryManager.addQuery(String, DatabaseQuery)
public java.lang.Object executeQuery(java.lang.String queryName, java.lang.Class domainClass, java.util.Vector argumentValues) throws DatabaseException
executeQuery
in class AbstractSession
DatabaseException
DescriptorQueryManager.addQuery(String, DatabaseQuery)
public java.lang.Object executeQuery(java.lang.String queryName, java.util.Vector argumentValues) throws DatabaseException
executeQuery
in class AbstractSession
DatabaseException
AbstractSession.addQuery(String, DatabaseQuery)
public ClassDescriptor getDescriptor(java.lang.Class domainClass)
getDescriptor
in interface CoreSession<ClassDescriptor,Login,Platform,Project,SessionEventManager>
getDescriptor
in interface Session
getDescriptor
in class AbstractSession
public ClassDescriptor getDescriptorForAlias(java.lang.String alias)
getDescriptorForAlias
in interface Session
getDescriptorForAlias
in class AbstractSession
alias
- The descriptor alias.public java.util.List getNewObjectsCache()
public RemoteSessionController getParentSessionController()
public DatabasePlatform getPlatform()
getPlatform
in interface Session
getPlatform
in class AbstractSession
public Platform getDatasourcePlatform()
getDatasourcePlatform
in interface CoreSession<ClassDescriptor,Login,Platform,Project,SessionEventManager>
getDatasourcePlatform
in interface Session
getDatasourcePlatform
in class AbstractSession
public java.util.List getUnregisteredNewObjectsCache()
public java.lang.Object internalExecuteQuery(DatabaseQuery query, AbstractRecord Record) throws DatabaseException, QueryException
internalExecuteQuery
in class UnitOfWorkImpl
DatabaseException
QueryException
public boolean isRemoteUnitOfWork()
isRemoteUnitOfWork
in interface Session
isRemoteUnitOfWork
in class AbstractSession
public void reinitializeForSession(AbstractSession session, RemoteSessionController parentSessionController)
public void setParentSessionController(RemoteSessionController parentSessionController)
public java.lang.String toString()
toString
in class AbstractSession
public boolean verifyDelete(java.lang.Object domainObject)
verifyDelete
in class AbstractSession
EclipseLink 2.6.3, "build v20160428-59c81c5" API Reference