IBM WebSphereTM eXtreme Scale, Release 8.6
API Specification

Package com.ibm.websphere.objectgrid

These are the main application APIs for the ObjectGrid.

See:
          Description

Interface Summary
BackingMap This is the public interface to the BackingMap.
CatalogDomainInfo Identifies the configuration attributes of a catalog service domain.
CatalogDomainManager Provides access to catalog domain configuration information for the current environment.
ClientClusterContext This interface is a context to represent which cluster/domain the client connected to using one of the ObjectGridManager.connect methods.
ClientReplicableMap Deprecated. The client replicated map function is deprecated in version 8.6.
IObjectGridException This interface is used to ensure JDK 1.4 Throwable chaining behavior for all exceptions thrown by ObjectGrid even when an earlier JDK is used (e.g.
JavaMap This interface is a handle to a named Map.
ObjectGrid This object is used for creating sessions to the ObjectGrid.
ObjectGridManager ObjectGridManager is responsible for creating or retrieving local ObjectGrid instances and connecting to distributed ObjectGrid servers.
ObjectMap This is a handle to a named Map.
PartitionManager This interface will be used for calculating the proper partition for a given input key.
Session This interface represents a session container for ObjectMaps.
SessionHandle A SessionHandle includes the partition that a Session is bound to and is useful for per-container partition placement.
StateManager The StateManager can be used to retrieve the availability state of an ObjectGrid.
TxID This interface is an opaque identifier for a transaction.
 

Class Summary
AvailabilityState Each shard in a distributed ObjectGrid has an availability state associated with it.
ClientReplicableMap.Mode Client Replication mode
CopyMode This class is used to define the "copy" mode when the setCopyMode method of the BackingMap interface is used.
LockStrategy LockStrategy provides an enumerated type idiom for use on the BackingMap.setLockStrategy(LockStrategy) method.
ObjectGridManagerFactory This factory class is a high level helper class to get ObjectGridManager instances.
SessionHandleTransformer A helper class to import and export SessionHandle instances in different formats.
StateManagerFactory This factory class is a helper class to get the StateManager instance.
TimeBasedDBUpdateConfig This TimeBasedDBUpdateConfig represents a configuration for a time-based database updater.
TimeBasedDBUpdateConfig.DBUpdateMode An type of DBUpdateMode specifies how the database changes should be pushed to the ObjectGrid maps.
TTLType Every BackingMap in ObjectGrid has a built in timed based evictor that is referred to as "time to live" evictor or TTL evictor.
 

Enum Summary
LockMode Specifies which lock mode to use to lock a key.
ObjectMap.PutMode Identifies the operation mode of the ObjectMap.put(Object, Object), ObjectMap.putAll(Map) , JavaMap.put(Object, Object) and JavaMap.putAll(Map) methods.
OutputFormat Identifies the data output format from data access APIs and plug-ins.
Session.TxCommitProtocol The commit protocols that can be used to commit the Session's transaction
 

Exception Summary
AvailabilityException An AvailabilityException is thrown when a target is not in the proper state to handle a request that it receives.
AvailabilityTransitionException An AvailabilityTransitionException is thrown when an error is encountered while trying to place a target into a new availability state.
CatalogNetworkPartitioningException This exception is used to indicate that the catalog servers are partitioned into different groups
ClientServerLoaderException This exception is a base exception for any Client/Server operation exceptions.
ClientServerMultiplePartitionWriteLoaderException This 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.
ClientServerMultipleReplicationGroupMemberWriteTransactionCallbackException This exception is thrown when a method call to the Client/Server TransactionCallback detects the user is attempting to perform a write against multiple maps in different Map Sets, Partition Sets or Replication groups.
ClientServerTransactionCallbackException This exception is thrown when a method call to the Client/Server TransactionCallback encounters a remote request problem.
ConnectException This exception is used to indicate that the client was unable to connect to the server
DeploymentPolicyException This exception is thrown to indicate a problem with the deployment policy.
DuplicateKeyException A DuplicateKeyException exception is thrown if a key cannot be inserted into a BackingMap because an object with the same key already exists.
DuplicateNameException  
IncompatibleDeploymentPolicyException This exception will occur if information in the DeploymentPolicy XML file is not compatible with the ObjectGrid XML file.
IndexAlreadyDefinedException This exception is thrown when an attempt is made to define two indexes with the same name.
IndexNotReadyException This exception is thrown when an attempt is made to get dynamic index that is not in ready state.
IndexUndefinedException This exception is thrown when an undefined index is looked up on a Map.
KeyNotFoundException Normally, record not found means a null is returned.
LockDeadlockException This exception is used by the lock manager to indicate that it detected a deadlock.
LockException A general locking exception indicating something went wrong with locking operations.
LockInternalFailureException This exception is used by the lock manager to indicate it detected some internal programming error while processing a lock or unlock request.
LockTimeoutException This exception is used by the lock manager to indicate that the maximum wait time for a lock has been exceeded.
MixedTransportException Used when servers are mixing transport.
NoActiveTransactionException An exception indicating there is no active transaction.
ObjectGridException Base exception class for all checked exceptions thrown by the ObjectGrid product.
ObjectGridRPCException Deprecated. The static deployment topology is deprecated in version 7.0.
ObjectGridRuntimeException This exception is the base class for all runtime exceptions thrown by the cache.
ReadOnlyException This exception is thrown when an attempt is made to modifying operations on a read only maps.
ReconnectException This exception is used to indicate that the client connection needs to be re-established in order to recover from an error.
ReplicationVotedToRollbackTransactionException This exception is thrown when a transaction was rolled back because some/all of the replicas failed to apply the transaction when in synchronous replication mode.
SessionNotReentrantException A Session object can only be used by a single thread concurrently to perform map operations.
TargetNotAvailableException A TargetNotAvailableException indicates the ObjectGrid target is not available.
TransactionAffinityException This exception is thrown for inflight transaction when server fails over.
TransactionAlreadyActiveException An exception indicating a transaction is already active for the current session.
TransactionException A general transaction exception indicating something went wrong with a transaction.
TransactionQuiesceException This exception is thrown when partition/shard/mapset/replication group/ replication group member/server/cluster/objectgrid is entered quiesce process for various reasons such as shard movement, partition relocation, system update, server shutdown, and others.
TransactionTimeoutException This exception is thrown when a transaction exceeds the transaction timeout that was specified on the ObjectGrid or Session.
UnavailableServiceException This exception is thrown when all servers are dead or when all services are unavailable even though servers are running.
UndefinedMapException This exception indicates that the map which an application tries to access is not defined in the ObjectGrid.
ZoneConfigurationException This exception is thrown when a container is started in an incompatible zone or when a problem has been detected with the zone configuration within the deployment policy.
 

Package com.ibm.websphere.objectgrid Description

These are the main application APIs for the ObjectGrid. The main interface here is the ObjectGrid interface. A JVM needs to create at least one instance.

Introduction

The WebSphere ObjectGrid is designed as a data caching tier that can be used to hold data from multiple sources and then make it available to the clients of the ObjectGrid. The clients access the data through the ObjectGrid APIs. The ObjectGrid is designed to be able to store large quantities of data.

Programming Tutorial

The following sections show snippets on the usage of the ObjectGrid APIs.

Obtaining a ObjectGrid instance.

The application needs to construct an ObjectGrid reference first. An application can choose to make several ObjectGrid instances. Each instance is independent, however, and has it's own configuration file. For now, use the following code and programmatically initialize it using the setter methods on the ObjectGrid.

ObjectGrid objectGrid = new ObjectGridImpl();

The instance can then have a Map defined on it using the following snippet:

BackingMap bm = objectGrid.defineMap("TABLE1");

Again, setter methods on BackingMap allow it to be configured once it's defined.

Working with an ObjectGrid, Sessions

Each thread that wants to access the ObjectGrid must have its own Session instance. The ObjectGrid class has a getSession method that returns one. Once the thread has a Session then it can obtain ObjectMap instances for manipulating data in the ObjectGrid as well as use the begin/commit/rollback methods on the Session to handle transactions.

Session session = objectGrid.getSession();
ObjectMap table1 = session.getMap("TABLE1");
session.begin();
MyData d = (MyData)table1.get("key1");
session.commit();


IBM WebSphereTM eXtreme Scale, Release 8.6
API Specification

© Copyright International Business Machines Corp 2005,2012. All rights reserved.