The eXtreme Scale client supports transactional data access to individual maps using automatic and manual transactions. The following maps are available:
- The IGridMapPessimisticAutoTx TKey, TValue interface provides automatic transactions.
- The IGridMapPessimisticTx TKey, TValue interface provides manual transaction demarcation.
Class | Description | |
---|---|---|
![]() | CacheKeyNotFoundException |
A CacheKeyNotFoundException exception occurs if a key cannot be found in the cache.
|
![]() | ClassAliasAttribute |
Specifies the class alias that you can use to correlate different class names that
have the same class alias. The class alias and class fields or types are used to identify
a unique class type ID during the object class serialization and de-serialization.
The [ClassAlias] annotation can be specified for a user defined class. |
![]() | ClientServerLoaderException |
A ClientServerLoaderException exception is a base exception for any client/server operation exceptions.
|
![]() | DuplicateKeyException |
A DuplicateKeyException exception occurs if a key cannot be inserted into the backing map
because an object with the same key already exists.
|
![]() | FieldAliasAttribute |
Specifies the field alias that you can use to correlate different class field names that
have the same class field alias. The class alias and field alias or types are used to identify
a unique class type ID during the object class serialization and de-serialization.
The [FieldAlias] annotation can be specified for user defined class fields. |
![]() | LoaderException |
A LoaderException exception is the base exception that results for any exceptions that are encountered by a
Loader.
|
![]() | LockDeadlockException |
A LockStrategyNotSupportedException exception occurs when the lock manager detects a deadlock.
This exception occurs to prevent the deadlock.
|
![]() | LockException |
A LockException exception indicates errors with locking operations.
|
![]() | LockStrategyNotSupportedException |
A LockStrategyNotSupportedException exception occurs if a map is configured with an unsupported lock strategy.
|
![]() | LockTimeoutException |
A LockTimeoutException exception occurs when the lock manager detects that the lock wait time exceeded the maximum wait time.
The timeout might be the result of a deadlock. If a deadlock is causing the timeout, the timeout is used to break the deadlock.
|
![]() | MultiplePartitionWriteException |
A MultiplePartitionWriteException exception is a base exception for
client/server operations when a user attempts to write to multiple remote partitions on
remote servers in the same transaction.
|
![]() | OptimisticCollisionException |
An OptimisticCollisionException occurs when an optimistic locking strategy is used
and more than one update transaction collides on the same map entry of an ObjectGrid
instance. The first transaction to commit updates the version object for the map entry.
Other transactions that read this same map entry before committing have the previous
version object. When the other transactions try to commit, the version object that is read
does not match the version that was last committed. Therefore, other transactions are
prevented from updating a map entry with stale data.
The default OptimisticCallback plug-in is used by the run time if an implementation is not provided by the application. If a well-constructed equals(Object) method is not on your value object, this exception occurs because the entire value object is used as the version object. Because this exception indicates that the map entry contains stale data, stale map entries or entries as identified by the key parameter that is passed to the OptimisticCollisionException(String, String, String, Object) method are invalidated. If this exception is thrown by a Loader plug-in and a null reference is used as the key parameter by the loader, the run time assumes that the loader does not know which entry caused the exception. In this scenario, the LogSequence object is passed to the Loader.batchUpdate(TxID, LogSequence) method to determine which map entries to invalidate. Each LogElement entry in the LogSequence object that is type update or delete is invalidated. |
![]() | PartitionKeyAttribute |
Specifies one or more attributes to use to calculate the partition hash code.
The PartitionKey attribute can be specified for the class using a path syntax to identify a single attribute. Multiple attributes can be specified using additional PartitionKey annotations on each field, using the Order attribute to specify the order in which the hash codes will be calculated. The PartitionKey attribute is not inheritable. |
![]() | ReadOnlyException |
A ReadOnlyException exception occurs when a modify operation is attempted on
a read-only map.
|
![]() | TargetNotAvailableException |
A TargetNotAvailableException occurs when a remote target was not found or was not reachable.
|
![]() | TransactionAffinityException |
A TransactionAffinityException exception occurs during server failover for inflight transactions. Applications can try the transaction again.
|
![]() | UnavailableServiceException |
An UnavailableServiceException exception occurs when all servers are not running, or when all services are not available even though servers are running.
|
![]() | UndefinedMapException |
An UndefinedMapException exception occurs to indicate that the map that an application tried to access is not defined
in the ObjectGrid.
|
Interface | Description | |
---|---|---|
![]() | IGridMap TKey, TValue |
The top level interface for all maps. Use the interface to retrieve an appropriate IGridMap instance.
Different IGridMap implementations are returned which allow additional operations for specific configurations and usage patterns. |
![]() | IGridMapPessimisticAutoTx TKey, TValue |
This is a handle to a map using automatic transaction demarcation.
An instance of this IGridMapPessimisticAutoTx can only be used by the thread at a time. Use the Dispose method when finished with the map, to improve performance. |
![]() | IGridMapPessimisticTx TKey, TValue |
This is a handle to a map using the pessimistic locking strategy and manual transaction demarcation. All data access
operations must occur within an active transaction.
Use the Transaction property to access the IGridTransaction instance that is associated with this map instance, and use the Begin method to begin a transaction. All keys in a single transaction must resolve to the same partition. An instance of this IGridMapPessimisticTx is not thread-safe, and can only be used by the thread at a time. Use the Dispose method when finished with the map, to improve performance. |
![]() | IPartitionManager TKey, TValue |
An IPartitionManager provides properties and methods for determining how partitions
are calculated. Retrieve an IPartitionManager from an IGridMap TKey, TValue .
|
Enumeration | Description | |
---|---|---|
![]() | LockMode |
Specifies the strength of a lock to acquire.
|
![]() | TtlType |
Every grid map has an optional, built in timed based evictor that is referred to as the "time to live" evictor or TTL evictor.
Each grid map entry has an expiration time that determines how long the entry is allowed to live in the grid map.
When the expiration time is reached, the TTL evictor causes the expired entry to be evicted from the grid map.
This enum defines the TTLType value constants that determine how the the expiration time is computed
for a map entry.
|